GMP 4.3.2 fails to compile with --enable-fat
Torbjorn Granlund
tg at gmplib.org
Tue Aug 30 13:25:34 CEST 2011
Zimmermann Paul <Paul.Zimmermann at loria.fr> writes:
[GMP 4.3.2 might not be supported any more, but this is the minimal version
currently required to compile GNU MPC, and we experience a problem with it.]
When configuring 4.3.2 on a 64-bit Core 2 (Q9550) with GCC 4.4.5 and
--disable-static --enable-fat, I get the following error:
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_fib_table -O2 -pedantic -m64 -c fib_table.c -fPIC -DPIC -o .libs/fib_table.o
In file included from fib_table.c:4:
../gmp-impl.h: In function 'mpn_add_nc':
../gmp-impl.h:4013: error: '__gmpn_cpuvec' undeclared (first use in this function)
../gmp-impl.h:4013: error: (Each undeclared identifier is reported only once
../gmp-impl.h:4013: error: for each function it appears in.)
../gmp-impl.h: In function 'mpn_sub_nc':
../gmp-impl.h:4027: error: '__gmpn_cpuvec' undeclared (first use in this function)
make[2]: *** [fib_table.lo] Error 1
make[2]: Leaving directory `/tmp/gmp-4.3.2/mpn'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gmp-4.3.2'
make: *** [all] Error 2
What configuration 'cpu-blah-blah' does GMP use (alternatively, which
one did you pass)?
Is is a 64-bit build?
The first few dozen lines from the output of 'configure' would help.
I know we had problems with fat builds, but I don't recall exactly which
releases were affected. (We now test many fat builds in our night
builds.)
Note that a similar problem occurs with GMP 5.0.0:
gcc -std=gnu99 -c -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_fat_entry -O2 -pedantic -m64 -Wa,--noexecstack tmp-fat_entry.s -fPIC -DPIC -o .libs/fat_entry.o
tmp-fat_entry.s: Assembler messages:
tmp-fat_entry.s:530: Error: operand type mismatch for `pop'
tmp-fat_entry.s:534: Error: operand type mismatch for `push'
tmp-fat_entry.s:537: Error: operand type mismatch for `pop'
make[2]: *** [fat_entry.lo] Error 1
make[2]: Leaving directory `/tmp/gmp-5.0.0/mpn'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gmp-5.0.0'
make: *** [all] Error 2
Note that GMP 5.0.1 and 5.0.2 pass "make" and "make check".
Is there any workaround, or should we bump the minimal GMP version to 5.0.1?
I have the same questions about this build as for the previous build...
--
Torbjörn
More information about the gmp-bugs
mailing list