Hi Harald, On Thu, Jul 25, 2024 at 11:48:53AM +0200, Harald Dunkel wrote: > Package: nfs-utils > Version: 2.6.4-5 > > Trying to backport nfs-utils to Bookworm I ran into a build error: > > : > gcc -DHAVE_CONFIG_H -I. -I../../support/include -I/usr/include/tirpc > -I/usr/include/libxml2 -I ../../support/nfsidmap -Wdate-time > -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -pipe -Wall -Wextra > -Werror=strict-prototypes -Werror=missing-prototypes > -Werror=missing-declarations -Werror=format=2 -Werror=undef > -Werror=missing-include-dirs -Werror=strict-aliasing=2 -Werror=init-self > -Werror=implicit-function-declaration -Werror=return-type -Werror=switch > -Werror=overflow -Werror=parentheses -Werror=aggregate-return > -Werror=unused-result -fno-strict-aliasing -Werror=format-overflow=2 > -Werror=int-conversion -Werror=incompatible-pointer-types > -Werror=misleading-indentation -Wno-cast-function-type -g -O2 > -ffile-prefix-map=/build/nfs-utils-2.6.4=. -fstack-protector-strong -Wformat > -Werror=format-security -isystem /usr/include/mit-krb5 -isystem > /usr/include/mit-krb5 -g -O2 -ffile-prefix-map=/build/nfs-utils-2.6.4=. > -fstack-protector-strong -Wformat -Werror=format-security -c -o > svcgssd-svcgssd_mech2file.o `test -f 'svcgssd_mech2file.c' || echo > './'`svcgssd_mech2file.c > gcc -DHAVE_CONFIG_H -I. -I../../support/include -I/usr/include/tirpc > -I/usr/include/libxml2 -I ../../support/nfsidmap -Wdate-time > -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -pipe -Wall -Wextra > -Werror=strict-prototypes -Werror=missing-prototypes > -Werror=missing-declarations -Werror=format=2 -Werror=undef > -Werror=missing-include-dirs -Werror=strict-aliasing=2 -Werror=init-self > -Werror=implicit-function-declaration -Werror=return-type -Werror=switch > -Werror=overflow -Werror=parentheses -Werror=aggregate-return > -Werror=unused-result -fno-strict-aliasing -Werror=format-overflow=2 > -Werror=int-conversion -Werror=incompatible-pointer-types > -Werror=misleading-indentation -Wno-cast-function-type -g -O2 > -ffile-prefix-map=/build/nfs-utils-2.6.4=. -fstack-protector-strong -Wformat > -Werror=format-security -isystem /usr/include/mit-krb5 -isystem > /usr/include/mit-krb5 -g -O2 -ffile-prefix-map=/build/nfs-utils-2.6.4=. > -fstack-protector-strong -Wformat -Werror=format-security -c -o > svcgssd-svcgssd_proc.o `test -f 'svcgssd_proc.c' || echo './'`svcgssd_proc.c > gcc -DHAVE_CONFIG_H -I. -I../../support/include -I/usr/include/tirpc > -I/usr/include/libxml2 -I ../../support/nfsidmap -Wdate-time > -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -pipe -Wall -Wextra > -Werror=strict-prototypes -Werror=missing-prototypes > -Werror=missing-declarations -Werror=format=2 -Werror=undef > -Werror=missing-include-dirs -Werror=strict-aliasing=2 -Werror=init-self > -Werror=implicit-function-declaration -Werror=return-type -Werror=switch > -Werror=overflow -Werror=parentheses -Werror=aggregate-return > -Werror=unused-result -fno-strict-aliasing -Werror=format-overflow=2 > -Werror=int-conversion -Werror=incompatible-pointer-types > -Werror=misleading-indentation -Wno-cast-function-type -g -O2 > -ffile-prefix-map=/build/nfs-utils-2.6.4=. -fstack-protector-strong -Wformat > -Werror=format-security -isystem /usr/include/mit-krb5 -isystem > /usr/include/mit-krb5 -g -O2 -ffile-prefix-map=/build/nfs-utils-2.6.4=. > -fstack-protector-strong -Wformat -Werror=format-security -c -o > svcgssd-svcgssd_krb5.o `test -f 'svcgssd_krb5.c' || echo './'`svcgssd_krb5.c > gssd_proc.c: In function 'create_auth_rpc_client': > gssd_proc.c:415:24: error: 'struct rpc_gss_sec' has no member named > 'minor_status' > 415 | if (sec.minor_status == KRB5KRB_AP_ERR_BAD_INTEGRITY) > { > | ^ > make[3]: *** [Makefile:824: gssd-gssd_proc.o] Error 1 > make[3]: *** Waiting for unfinished jobs.... > make[3]: Leaving directory '/build/nfs-utils-2.6.4/utils/gssd' > make[2]: *** [Makefile:467: all-recursive] Error 1 > make[2]: Leaving directory '/build/nfs-utils-2.6.4/utils' > make[1]: *** [Makefile:491: all-recursive] Error 1 > make[1]: Leaving directory '/build/nfs-utils-2.6.4' > dh_auto_build: error: make -j28 returned exit code 2 > make: *** [debian/rules:12: build] Error 25 > dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 > E: Failed autobuilding of package > I: unmounting dev/ptmx filesystem > I: unmounting dev/pts filesystem > I: unmounting dev/shm filesystem > I: unmounting proc filesystem > I: unmounting sys filesystem > I: cleaning the build env > I: removing directory /local/pbuilder/build//2023043 and its subdirectories > > AFAIU some newer version of libtirpc is needed, which is not mentioned in > the control file.
I do not think we will want that. The reason is that upstream actually reverted one change later on in nfs-utils-2-7-1-rc3 touching this in f05af7d9924b ("gssd: revert commit 513630d720bd"), to later on apply 2bfb59c6f50e ("gssd: handle KRB5_AP_ERR_BAD_INTEGRITY for machine credentials") which is guarded if the tirpc version has the seccreate feature, this is in nfs-utils-2-7-1-rc3. That seems to be the right fix, so that the features are only used if supported as it seems the inention was. I guess to close this bug it will be sufficient to wait for the 2.7.1 release to happend, or bckport the commits from the nfs-utils-2-7-1-rc3 tag. But I have to double-check again. Regards, Salvatore