------- From Jeremy Huddleston 2005-01-01 21:13 PST ------- (bug 70889) gnupg-1.4 fails on sparc... it appears there's a symbol in libc.a that isn't in the shared lib, and gpg-1.4 uses it... I'll look into this later... sparc-unknown-linux-gnu-gcc -mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe -Wall -Wl,-z,now -o mpicalc mpicalc.o ../cipher/libcipher.a ../mpi/libmpi.a ../util/libutil.a -lcap ../mpi/libmpi.a(mpih-div.o)(.text+0x400): In function `mpihelp_mod_1': : undefined reference to `__udiv_qrnnd' ../mpi/libmpi.a(mpih-div.o)(.text+0x61c): In function `mpihelp_mod_1': : undefined reference to `__udiv_qrnnd' ../mpi/libmpi.a(mpih-div.o)(.text+0x638): In function `mpihelp_mod_1': : undefined reference to `__udiv_qrnnd' ../mpi/libmpi.a(mpih-div.o)(.text+0x734): In function `mpihelp_divrem': : undefined reference to `__udiv_qrnnd' ../mpi/libmpi.a(mpih-div.o)(.text+0x8ec): In function `mpihelp_divrem': : undefined reference to `__udiv_qrnnd' ../mpi/libmpi.a(mpih-div.o)(.text+0x918): more undefined references to `__udiv_qrnnd' follow collect2: ld returned 1 exit status make[2]: *** [mpicalc] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/usr/tmp/portage/gnupg-1.4.0/work/gnupg-1.4.0/tools' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/tmp/portage/gnupg-1.4.0/work/gnupg-1.4.0' make: *** [all] Error 2 Throwing a -static (or just adding /usr/lib/libc.a) makes the compile work. (21:08:26 Sat Jan 01 2005 root@aeris sparc64) /mnt/raid0/gentoo/gentoo-x86 $ grep __udiv_qrnnd /usr/lib/libc.a Binary file /usr/lib/libc.a matches (21:11:45 Sat Jan 01 2005 root@aeris sparc64) /mnt/raid0/gentoo/gentoo-x86 $ grep __udiv_qrnnd /lib/*so* suspected libc problem.
Mike reports that hppa fails in the same manner. 15:14:13] <@SpanKY> dragonheart: mmm udiv is provided by libgcc_s i think
vapier was wrong. It's not in libgcc_s... atleast not here on sparc.
theres a few udiv functions out there the ones i was thinking of were the common ones, __udivdi3 / __udivmoddi4 which libgcc_s does provide of course, that is unrelated to this bug report though
I found a soloution. The problem seems to be the --disable-asm option. Now I disabled it for hppa and it works. Maybe it works for sparc too, but I haven't got time to test it. I add a diff of the ebuild.
Created attachment 53457 [details, diff] fixes linking errors on hppa The patch is for the gnupg-1.4.0-r2 ebuild.
Ren
René: you can use this: if use !hppa; then Thanks for the patch!
After eradicator already fixed the ebuild, I added it to ~hppa. Thanks to Ren
After eradicator already fixed the ebuild, I added it to ~hppa. Thanks to René for the fix. Closing the bug.