On Fri, 21 May 2021, Steve Dickson wrote: > Well.... it appears you guys did not compile with the --with-systemd > config flag... Because if you did you would have seeing this compile error > the in systemd code: > > /usr/bin/ld: ../support/nfs/.libs/libnfs.a(cacheio.o): in function `stat': > /usr/include/sys/stat.h:455: undefined reference to `etab' > collect2: error: ld returned 1 exit status > make[1]: *** [Makefile:560: nfs-server-generator] Error 1 > make[1]: Leaving directory '/home/src/up/nfs-utils/systemd' > make: *** [Makefile:479: all-recursive] Error 1 > > It turns out the moving of export_test() in to the libexport.a > is causing any binary linking with libexport.a to have a > global definition of struct state_paths etab; > > The reason is export_test() calls qword_add(). Now qword_add() > does not use an etab, but the file qword_add() lives in is > cacheio.c which does have a extern struct state_paths etab > which is the reason libnfs.a(cacheio.o) is mentioned in > the error. At least that is what I *think* is going on... > The extern came from commit a15bd94. Thanks for finding and analysis that! I'd rather fix this "properly" so we don't more pointless declaration of "etab". We already have one in svcgssd.c. I have two patches which make this problem go away. I'll post them as a followup. Thanks, NeilBrown