make check fails on powerpc-ibm-aix5.3.0.0
Torbjorn Granlund
tg at gmplib.org
Tue May 26 16:29:04 CEST 2009
"Eric Fernandez" <efernandez at physiomics-plc.com> writes:
I'd like to report a check fail of GMP on AIX 5.3. Firstly, this problem
has been seen with gmp-4.3.1, but I report it for the latest snapshot:
gmp-4.4.-1-20090526
- Problem:
./configure --prefix=$PREFIXGNU ABI=32
make
make check
make[4]: Entering directory
`/hpc/work/fernandz/gnusrc/gmp-4.4.-1-20090526/tests'
PASS: t-bswap
exec(): 0509-036 Cannot load program
/hpc/work/fernandz/gnusrc/gmp-4.4.-1-20090526/tests/.libs/lt-t-constants
because of the following errors:
0509-130 Symbol resolution failed for lt-t-constants because:
0509-136 Symbol __gmp_binvert_limb_table (number 28) is not
exported from
dependent module
/hpc/work/fernandz/gnu/lib/libgmp.a(libgmp.so.3).
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
FAIL: t-constants
PASS: t-count_zeros
PASS: t-gmpmax
PASS: t-hightomask
exec(): 0509-036 Cannot load program
/hpc/work/fernandz/gnusrc/gmp-4.4.-1-20090526/tests/.libs/lt-t-modlinv
because of the following errors:
0509-130 Symbol resolution failed for lt-t-modlinv because:
0509-136 Symbol __gmp_binvert_limb_table (number 33) is not
exported from
dependent module
/hpc/work/fernandz/gnu/lib/libgmp.a(libgmp.so.3).
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
FAIL: t-modlinv
PASS: t-popc
PASS: t-parity
PASS: t-sub
====================================
2 of 9 tests failed
Please report to gmp-bugs at gmplib.org
====================================
I have now looked into this, and tried to reproduce it. Unfortunately,
I don't understand how this can fail, and I have not been able to
reproduce it. My machine is also a power5-ibm-aix5.3.0.0. I do not
have the exact same compiler as you (only gcc 4.4 is installed on my
system).
The symbol __gmp_binvert_limb_table should be defined in mp_minv_tab.c
at the directory top level. Its name is mangled by a #define in
gmp-impl.h from binvert_limb_table to __gmp_binvert_limb_table.
For your build, the symbol is defined in a C file, and read from many C
files as well as from one assembly file.
You mention your gcc version. Does configure output confirm
that it chooses gcc? Look for lines like these:
using ABI="32"
CC="gcc -maix32"
CFLAGS="-O2 -pedantic -mpowerpc"
CPPFLAGS=""
MPN_PATH=" powerpc32 generic"
Please also make sure no races of old builds are present in the source
directory. We generally recommend that you build in a separate bject
directory, not in the source directory, since the latter is prone to
errors. (You need a "make distclean" between builds.)
If you configure for target "none", does it still fail? If it does,
then a C file cannot access a C symbol from a different file. Pretty
basic compiler tools problem in that case.
--
Torbjörn
More information about the gmp-bugs
mailing list