dev-libs/libgcrypt fails with: Making all in random make[2]: Entering directory `/usr/opt/portage/var/tmp/portage/dev-libs/libgcrypt-1.4.3-r1/work/libgcrypt-1.4.3/random' /opt/portage/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -I/opt/portage/usr/include -I/opt/portage/usr/include -c99 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip35:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -woff 1174,1183,1185,1552,3968,3970 -c -o random.lo random.c mkdir .libs cc -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -I/opt/portage/usr/include -I/opt/portage/usr/include -c99 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip35:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -woff 1174,1183,1185,1552,3968,3970 -c random.c -DPIC -o .libs/random.o cc-1117 cc: ERROR File = random.c, Line = 322 An expression appears after a "return" in a "void" function. return _gcry_rngfips_deinit_external_test (context); ^ 1 error detected in the compilation of "random.c". make[2]: *** [random.lo] Error 1 make[2]: Leaving directory `/usr/opt/portage/var/tmp/portage/dev-libs/libgcrypt-1.4.3-r1/work/libgcrypt-1.4.3/random' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/opt/portage/var/tmp/portage/dev-libs/libgcrypt-1.4.3-r1/work/libgcrypt-1.4.3' make: *** [all] Error 2 * ERROR: dev-libs/libgcrypt-1.4.3-r1 failed: * emake failed * * Call stack: * ebuild.sh: 49: <call src_compile> * environment:2663: emake || die "emake failed" Removing the "return" keyword from this line allows the build to complete successfully.
net-libs/gnutls-2.6.3 has the same issue on line 123 of lib/mpi-libgcrypt.c
net-libs/gnutls-2.6.3 has the same issue on: * line 123 of lib/mpi-libgcrypt.c * line 96 of lib/mac-libgcrypt.c With these two corrections, gnutls merges successfully. (Sorry for the re-post)
hmmm, got a patch file for me?
libgcrypt has fixed this (but has other issues - see Bug 256652 (great number :) ), but gnutls is still affected. Patch coming up...
Created attachment 180524 [details, diff] Two one-line fixes for gnutls-2.6.3 Fix two instances of a void function attempting to return a value.
Thanks, applied, 2.7.4 is already fixed in this regard.
gnutls (at least, 2.6.3) also requires "-lintl" on IRIX (and therefore other platforms such as interix too?). Adding: [[ ${CHOST} == *-irix* ]] && append-libs intl ... to the src_configure section of the ebuild (with 'flag-o-matic' also added to the "inherits" statement) fixes this. Sorry I missed it the first time.
is that with or without USE=nls?
Definitely with, but I'm pretty sure it's needed either way.
My mistake - it appears only to be necessary with USE="nls". With this flag in effect, the error is: ld32: ERROR 33 : Unresolved text symbol "libintl_gettext" -- 1st referenced by ../gl/.libs/libgnu.a(version-etc.o). Use linker option -v to see when and which objects, archives and dsos are loaded. ld32: INFO 152: Output file removed because of error. make[3]: *** [gnutls-serv] Error 2 make[3]: Leaving directory `/opt/gentoo/var/tmp/portage/net-libs/gnutls-2.6.3/work/gnutls-2.6.3/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/gentoo/var/tmp/portage/net-libs/gnutls-2.6.3/work/gnutls-2.6.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/gentoo/var/tmp/portage/net-libs/gnutls-2.6.3/work/gnutls-2.6.3' make: *** [all] Error 2
net-libs/gnutls-2.6.6 no longer requires any patching for IRIX, but it still requires linking against libintl. This can either be done as above, or a more general: use nls && append-libs -lintl ... should also work on all platforms, shouldn't it?
not on platforms with that stuff in their libc, like glibc, as on Linux ;)
closing per #275486