Next: Performance optimization, Previous: Notes for Particular Systems, Up: Installing GMP [Index]
You might find more up-to-date information at https://gmplib.org/.
The version of libtool currently in use rather aggressively strips compiler options when linking a shared library. This will hopefully be relaxed in the future, but for now if this is a problem the suggestion is to create a little script to hide them, and for instance configure with
./configure CC=gcc-with-my-options
The DJGPP port of bash
2.03 is unable to run the ‘configure’
script, it exits silently, having died writing a preamble to
config.log. Use bash
2.04 or higher.
‘make all’ was found to run out of memory during the final libgmp.la link on one system tested, despite having 64Mb available. Running ‘make libgmp.la’ directly helped, perhaps recursing into the various subdirectories uses up memory.
strip
prior to 2.12strip
from GNU binutils 2.11 and earlier should not be used on the
static libraries libgmp.a and libmp.a since it will discard all
but the last of multiple archive members with the same name, like the three
versions of init.o in libgmp.a. Binutils 2.12 or higher can be
used successfully.
The shared libraries libgmp.so and libmp.so are not affected by
this and any version of strip
can be used on them.
make
syntax errorOn certain versions of SCO OpenServer 5 and IRIX 6.5 the native make
is unable to handle the long dependencies list for libgmp.la. The
symptom is a “syntax error” on the following line of the top-level
Makefile.
libgmp.la: $(libgmp_la_OBJECTS) $(libgmp_la_DEPENDENCIES)
Either use GNU Make, or as a workaround remove
$(libgmp_la_DEPENDENCIES)
from that line (which will make the initial
build work, but if any recompiling is done libgmp.la might not be
rebuilt).
Libtool currently only knows how to create shared libraries on MacOS X using
the native cc
(which is a modified GCC), not a plain GCC. A
static-only build should work though (‘--disable-shared’).
The system compiler on old versions of NeXT was a massacred and old GCC, even if it called itself cc. This compiler cannot be used to build GMP, you need to get a real GCC, and install that. (NeXT may have fixed this in release 3.3 of their system.)
Bugs in GCC 2.7.2 (and 2.6.3) mean it can’t be used to compile GMP on POWER or PowerPC. If you want to use GCC for these machines, get GCC 2.7.2.1 (or later).
Use the GNU assembler instead of the system assembler, since the latter has serious bugs.
The system sed
prints an error “Output line too long” when libtool
builds libgmp.la. This doesn’t seem to cause any obvious ill effects,
but GNU sed
is recommended, to avoid any doubt.
A shared library build of GMP seems to fail in this combination, it builds but
then fails the tests, apparently due to some incorrect data relocations within
gmp_randinit_lc_2exp_size
. The exact cause is unknown,
‘--disable-shared’ is recommended.
Next: Performance optimization, Previous: Notes for Particular Systems, Up: Installing GMP [Index]