#1130227 ui-utilcpp: FTBFS with libc6-dev dropping dependency on rpcsvc-proto

Package:
src:ui-utilcpp
Source:
src:ui-utilcpp
Submitter:
Aurelien Jarno
Date:
2026-04-22 16:33:01 UTC
Severity:
normal
Tags:
#1130227#5
Date:
2026-03-09 20:51:59 UTC
From:
To:
Dear maintainer(s),

Historically, the rpcgen has been provided by glibc. It was split out
into the rpcsvc-proto package starting with glibc 2.31 (released in
bookworm), and libc6-dev gained a dependency on it as part of the
transition.

It now makes sense to finish this transition by using an explicit
Build-Depends on rpcsvc-proto instead of relying on the dependency
pulled in via libc6-dev.

ui-utilcpp is one of the packages requiring this Build-Depends on
rpcsvc-proto. Indeed it FTBFS with a modified glibc that no longer
depends on it. From my build log:

| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c GetOpt.cpp  -fPIC -DPIC -o .libs/libui_utilcpp_la-GetOpt.o
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c CmdLine.cpp  -fPIC -DPIC -o .libs/libui_utilcpp_la-CmdLine.o
| QuotaInfo.cpp:27:10: fatal error: rpcsvc/rquota.h: No such file or directory
|    27 | #include <rpcsvc/rquota.h>  // linux-rpc
|       |          ^~~~~~~~~~~~~~~~~
| compilation terminated.
| make[5]: *** [Makefile:671: libui_utilcpp_la-QuotaInfo.lo] Error 1
| make[5]: *** Waiting for unfinished jobs....
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c Exception.cpp -o libui_utilcpp_la-Exception.o >/dev/null 2>&1
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c Misc.cpp -o libui_utilcpp_la-Misc.o >/dev/null 2>&1
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c GetOpt.cpp -o libui_utilcpp_la-GetOpt.o >/dev/null 2>&1
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c File.cpp -o libui_utilcpp_la-File.o >/dev/null 2>&1
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c Socket.cpp -o libui_utilcpp_la-Socket.o >/dev/null 2>&1
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c CmdLine.cpp -o libui_utilcpp_la-CmdLine.o >/dev/null 2>&1
| libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src -I/usr/include/tirpc -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -ltirpc -Wno-long-long -pthread -fno-check-new -finline -fvisibility=hidden -fvisibility=default -g -O2 -ffile-prefix-map=/build/reproducible-path/ui-utilcpp-1.10.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c Sys.cpp -o libui_utilcpp_la-Sys.o >/dev/null 2>&1
| make[5]: Leaving directory '/build/reproducible-path/ui-utilcpp-1.10.4/src/ui-utilcpp'
| make[4]: *** [Makefile:763: all-recursive] Error 1
| make[4]: Leaving directory '/build/reproducible-path/ui-utilcpp-1.10.4/src/ui-utilcpp'
| make[3]: *** [Makefile:364: all-recursive] Error 1
| make[3]: Leaving directory '/build/reproducible-path/ui-utilcpp-1.10.4/src'
| make[2]: *** [Makefile:470: all-recursive] Error 1
| make[2]: Leaving directory '/build/reproducible-path/ui-utilcpp-1.10.4'
| make[1]: *** [Makefile:379: all] Error 2
| make[1]: Leaving directory '/build/reproducible-path/ui-utilcpp-1.10.4'
| dh_auto_build: error: make -j8 returned exit code 2
| make: *** [debian/rules:6: binary] Error 25
| dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

Therefore could you please add a Build-Depends on rpcsvc-proto for the
next ui-utilcpp upload?

Regards
Aurelien

#1130227#10
Date:
2026-04-22 16:30:30 UTC
From:
To:
control: tag -1 + patch

Hi,

Please find a patch below doing that:
--- ui-utilcpp-1.10.4/debian/control +++ ui-utilcpp-1.10.4/debian/control @@ -14,6 +14,7 @@ libcap-dev, libboost-all-dev (>= 1.35), libtirpc-dev, + rpcsvc-proto, xfslibs-dev, doxygen (>= 1.5.6), graphviz (>= 2.20.2) Would it be possible to schedule an upload in that patch so that we can then proceed with the change on the glibc side? Thanks Aurelien