Hello Herbert,

I'm sorry to bother you, but recent GHC HEAD does have issue on Solaris/SPARC platform which shows as undefined symbols during the linkage of stage2 binaries. For example ghc-stage2 link step fails with:

Undefined                       first referenced
 symbol                             in file
__gmpn_andn_n /home/karel/src/ghc-sparc-reg_ncg-head-2015-01-17/libraries/integer-gmp2/dist-install/build/libHSinteg_21cuTlnn00eFNd4GMrxOMi.a(Type.o) __gmpn_and_n /home/karel/src/ghc-sparc-reg_ncg-head-2015-01-17/libraries/integer-gmp2/dist-install/build/libHSinteg_21cuTlnn00eFNd4GMrxOMi.a(Type.o) __gmpn_ior_n /home/karel/src/ghc-sparc-reg_ncg-head-2015-01-17/libraries/integer-gmp2/dist-install/build/libHSinteg_21cuTlnn00eFNd4GMrxOMi.a(Type.o) __gmpn_xor_n /home/karel/src/ghc-sparc-reg_ncg-head-2015-01-17/libraries/integer-gmp2/dist-install/build/libHSinteg_21cuTlnn00eFNd4GMrxOMi.a(Type.o) ld: fatal: symbol referencing errors. No output written to ghc/stage2/build/tmp/ghc-stage2


All binaries fail with the same set of unresolved symbols. I can tell you that I don't see this issue on Solaris/i386 nor on Solaris/amd64 builds as you can verify here: http://haskell.inf.elte.hu/builders/

I'm talking here about exact Solaris 11.1 on SPARC and Solaris 11.1 on AMD64 box. Both Solarises provide the same version of libgmp:

$ uname -p
sparc
$ ls -la /usr/lib/libgmp.so*
lrwxrwxrwx 1 root root 15 Feb 20 1999 /usr/lib/libgmp.so -> libgmp.so.3.5.2 lrwxrwxrwx 1 root root 15 Feb 20 1999 /usr/lib/libgmp.so.3 -> libgmp.so.3.5.2 -r-xr-xr-x 1 root bin 1093328 Sep 19 2012 /usr/lib/libgmp.so.3.5.2
$


$ uname -p
i386
$ ls -la /usr/lib/libgmp.so*
lrwxrwxrwx 1 root root 15 Oct 18 2012 /usr/lib/libgmp.so -> libgmp.so.3.5.2 lrwxrwxrwx 1 root root 15 Oct 18 2012 /usr/lib/libgmp.so.3 -> libgmp.so.3.5.2 -r-xr-xr-x 1 root bin 878276 Feb 5 2014 /usr/lib/libgmp.so.3.5.2
$


And yet on i386/amd64 the symbol (one from the failing set as an example) __gmpn_andn_n is defined:

$ nm /usr/lib/libgmp.so|grep __gmpn_andn_n
[86]    |    375728|       101|FUNC |GLOB |0    |14     |__gmpn_andn_n

but on SPARC it's not:

$ nm /usr/lib/libgmp.so|grep __gmpn_andn_n
$


Do you have any magical knob which I can switch on to work around this issue by not needing those four symbols above?

Thanks!
Karel

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to