The following message is displayed and fails to compile. <snip> gmake[2]: Entering directory '/var/tmp/portage/app-misc/pax-utils-0.9.1/work/pax-utils-0.9.1' CC paxelf.lo CC paxinc.lo CC paxmacho.lo CC xfuncs.lo CCLD libpaxutils.la CC scanelf.o scanelf.c: In function 'scanelf_file_get_symtabs': scanelf.c:249:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (offset >= elf->len - sizeof(Elf ## B ## _Dyn)) \ ^ scanelf.c:311:2: note: in expansion of macro 'GET_SYMTABS_DT' GET_SYMTABS_DT(64) ^ scanelf.c: In function 'scanelf_file_textrel': scanelf.c:501:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (offset >= elf->len - sizeof(Elf ## B ## _Dyn)) continue; \ ^ scanelf.c:513:2: note: in expansion of macro 'SHOW_TEXTREL' SHOW_TEXTREL(64) ^ scanelf.c: In function 'scanelf_file_rpath': scanelf.c:803:3: warning: overflow in implicit constant conversion [-Woverflow] SHOW_RPATH(32) ^ scanelf.c:706:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (offset >= elf->len - sizeof(Elf ## B ## _Dyn)) continue; \ ^ scanelf.c:804:3: note: in expansion of macro 'SHOW_RPATH' SHOW_RPATH(64) ^ scanelf.c: At top level: scanelf.c:956:2: warning: #warning Cache support not implemented for your target [-Wcpp] #warning Cache support not implemented for your target ^ scanelf.c: In function 'lookup_cache_lib': scanelf.c:958:39: warning: unused parameter 'elf' [-Wunused-parameter] static char *lookup_cache_lib(elfobj *elf, const char *fname) ^ scanelf.c:958:56: warning: unused parameter 'fname' [-Wunused-parameter] static char *lookup_cache_lib(elfobj *elf, const char *fname) ^ scanelf.c: In function 'scanelf_file_needed_lib': scanelf.c:1009:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (offset >= elf->len - sizeof(Elf ## B ## _Dyn)) \ ^ scanelf.c:1058:3: note: in expansion of macro 'SHOW_NEEDED' SHOW_NEEDED(64) ^ scanelf.c: In function 'scanelf_file_bind': scanelf.c:1121:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (offset >= elf->len - sizeof(Elf ## B ## _Dyn)) continue; \ ^ scanelf.c:1136:2: note: in expansion of macro 'SHOW_BIND' SHOW_BIND(64) ^ scanelf.c: In function 'scanelf_file_soname': scanelf.c:1172:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (offset >= elf->len - sizeof(Elf ## B ## _Dyn)) continue; \ ^ scanelf.c:1189:3: note: in expansion of macro 'SHOW_SONAME' SHOW_SONAME(64) ^ scanelf.c: At top level: scanelf.c:69:14: warning: 'ldcache' defined but not used [-Wunused-variable] static void *ldcache = NULL; ^ scanelf.c:70:15: warning: 'ldcache_size' defined but not used [-Wunused-variable] static size_t ldcache_size = 0; ^ CCLD scanelf scanelf.o: In function `scanelf_fileat': scanelf.c:(.text+0x6f64): undefined reference to `rpl_strerror' scanelf.c:(.text+0x70c1): undefined reference to `rpl_strerror' scanelf.c:(.text+0x722b): undefined reference to `rpl_strerror' scanelf.o: In function `scanelf_dirat': scanelf.c:(.text+0x7319): undefined reference to `rpl_fdopendir' scanelf.c:(.text+0x74ac): undefined reference to `rpl_strerror' scanelf.o: In function `parseargs': scanelf.c:(.text+0x7a04): undefined reference to `rpl_strerror' ./.libs/libpaxutils.a(xfuncs.o): In function `xstrdup': xfuncs.c:(.text+0x2f): undefined reference to `rpl_strerror' collect2: error: ld returned 1 exit status Makefile:1632: recipe for target 'scanelf' failed gmake[2]: *** [scanelf] Error 1 gmake[2]: Leaving directory '/var/tmp/portage/app-misc/pax-utils-0.9.1/work/pax-utils-0.9.1' Makefile:1769: recipe for target 'all-recursive' failed gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory '/var/tmp/portage/app-misc/pax-utils-0.9.1/work/pax-utils-0.9.1' Makefile:1506: recipe for target 'all' failed gmake: *** [all] Error 2 * ERROR: app-misc/pax-utils-0.9.1::gentoo failed (compile phase): * emake failed
Similar issue occurs on amd64-fbsd...
This issue fixed on Gentoo/FreeBSD 10.0 or later. https://svnweb.freebsd.org/base/release/10.0.0/sys/sys/errno.h?r1=220335&r2=250250 Please you try the following command if you want to compile on 9.x. # gl_cv_header_errno_h_complete=yes emerge pax-utils FYI, # grep gl_cv_header_errno_h_complete 9.1-config.log 10.1-config.log 9.1-config.log:gl_cv_header_errno_h_complete=no 10.1-config.log:gl_cv_header_errno_h_complete=yes Note, FreeBSD 9.1 and 9.2 EoL coming soon (December 31, 2014). I believe the version bump to 10.1 be the solution. https://www.freebsd.org/security/index.html#sup
pax-utils-1.0 is also in the tree now ...