First of all, thanks for your patience
Il 2014-11-09 22:21 nisse@lysator.liu.se ha scritto:
braga Vittorio.Braga@roma2.infn.it writes:
I am sure I have installed gmp6.0.0: I have done it right before trying to install nettle.
Using apt-get, or compiling from source (and then typically installing under /usr/local)?
However, this is what I get with your tests
zaamus@zaamuspc:/usr/local/itt/idl70/lib$ dpkg -S /usr/lib/i386-linux-gnu/libgmp.so.10 libgmp10: /usr/lib/i386-linux-gnu/libgmp.so.10 zaamus@zaamuspc:/usr/local/itt/idl70/lib$ dpkg -l libgmp10 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Nome Versione Descrizione +++-=====================-=====================-========================================================== ii libgmp10 2:5.0.2+dfsg-2ubuntu1 Multiprecision arithmetic library
This shows that the version installed under /usr/lib is *not* version 6.0. So if you have installed gmp-6, it's located somewhere else on the system. I'm going to assume it's under /usr/local.
I will check... for now I will simply send you the results of your check
You need to tweak the invocation of nettle's configure script to pick it up (or, alternatively, edit /etc/ld.so.conf to include /usr/local/lib by default, and run ldconfig, but that might have undesirable side effects).
What probably happened, is that you got header files for gmp-6 in /usr/local/include, and gcc searches that directory by default. And you got the corresponding library installed under /usr/local/lib, which might be searched by default during link time, but *not* during runtime.
Try rerunning nettle's ./configure as
./configure LDFLAGS="-L/usr/local/lib -Wl,rpath,/usr/local/lib"
zaamus@zaamuspc:~/Dependencies/nettle-2.7.1$ ./configure LDFLAGS="-L/usr/local/lib -Wl,rpath,/usr/local/lib" checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for -R flag... using -Wl,-rpath, Searching for libraries checking /usr/local/lib/lib... not found checking /usr/local/lib... added checking /sw/local/lib... not found checking /sw/lib... not found checking /usr/gnu/lib... not found checking /opt/gnu/lib... not found checking /sw/gnu/lib... not found checking /usr/freeware/lib... not found checking /usr/pkg/lib... not found checking for gcc... gcc checking whether the C compiler works... no configure: error: in `/home/zaamus/Dependencies/nettle-2.7.1': configure: error: C compiler cannot create executables See `config.log' for more details
Or as a quick test to see if this really is the problem, try setting LD_LIBRARY_PATH, and run
LD_LIBRARY_PATH=.lib:/usr/local/lib ldd testsuite/ecc-mul-g-test LD_LIBRARY_PATH=.lib:/usr/local/lib ./testsuite/ecc-mul-g-test
zaamus@zaamuspc:~/Dependencies/nettle-2.7.1$ LD_LIBRARY_PATH=.lib:/usr/local/lib ldd testsuite/ecc-mul-g-test linux-gate.so.1 => (0x40022000) libhogweed.so.2 => .lib/libhogweed.so.2 (0x40026000) libnettle.so.4 => .lib/libnettle.so.4 (0x40054000) libgmp.so.10 => /usr/local/lib/libgmp.so.10 (0x40087000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x40119000) /lib/ld-linux.so.2 (0x40000000) zaamus@zaamuspc:~/Dependencies/nettle-2.7.1$ LD_LIBRARY_PATH=.lib:/usr/local/lib ./testsuite/ecc-mul-g-test zaamus@zaamuspc:~/Dependencies/nettle-2.7.1$
Regards, /Niels