GMP 4.2 make check failures
Marc Glisse
marc.glisse at normalesup.org
Fri Feb 6 09:16:53 CET 2009
On Thu, 5 Feb 2009, Samuelson, Gary M wrote:
> GMP version 4.2
Is this 4.2 As in 4.2.0? This is a really old version, you should get
4.2.4, assuming that 4.3.0 is not out yet.
> ld.so.1: t-bswap: fatal: /usr/local/lib/libgcc_s.so.1: wrong ELF class:
> ELFCLASS32
You should really check the archives of the mailing list. gcc comes with
broken specs by default. Ways to work around it include modifying these
specs, adding -R/usr/local/lib/sparcv9 to LDFLAGS, defining
LD_LIBRARY_PATH_64, using crle, etc. But my guess is that you are actually
more interested in the 32 bit version of gmp, so you could try:
ABI=32
export ABI
./configure ...
Note that the 64 bit version is currently faster if you want to use gmp
for intensive computation.
(I am a bit surprised that the 32 bit version can't be made almost as
fast, since from what I understand both have access to the same
instructions, as I was reminded reading:
http://www.opensolaris.org/jive/thread.jspa?threadID=90305&tstart=0
but I know the people who wrote the gmp code know much more than I do
about this, and the 32 bit code already uses 64 bit instructions in some
places)
> SPROcc Sun Studio 11 C Compiler
> (sparc) 11.0,REV=2005.10.13
Does it have the latest patches?
http://developers.sun.com/sunstudio/downloads/patches/ss11_patches.html
> mpn_get_d wrong on random data
> sign 0
> n =0x1FF800FE007FC0
> nsize 1
> exp -37
> want =[43 3F F8 00 FE 00 7F C0] 8998407423164352
> got =[40 EF F8 00 FE 00 7F C0] 65472.031006097327918
> FAIL: t-get_d
There, the archives of the mailing list suggest this is caused by an
unsafe optimization triggered by the -fast flag in Sun Studio. I believe
replacing -fsimple=1 with -fsimple=0 is enough to work around it, but it
may be easier to just specify your own CFLAGS that don't include -fast.
--
Marc Glisse
More information about the gmp-bugs
mailing list