[CLN-list] make failed on .libs/exam
Ralf Wildenhues
Ralf.Wildenhues at gmx.de
Wed Oct 27 09:37:03 CEST 2004
* Richard B. Kreckel wrote on Wed, Oct 27, 2004 at 08:53:26AM CEST:
> On Tue, 26 Oct 2004 horbelt at uni-freiburg.de wrote:
> > 2. the line causing the linker errors is
> > g++ -g -O2 $objects -o .libs/exam ../src/.libs/libcln.so -lgmp
> > -lm -Wl,--rpath -Wl,/scratch/werner//lib
> > with objects="exam*.o"
> >
> > can anybody tell me which of tests/exam*.o, src/.libs/libcln.so
> > or libgmp.so is supposed to contain these symbols like
> > _GLOBAL__I_cl_module__cl_GV_number__firstglobalfun?
>
> These symbols are unresolved in libcln.so proper rather than in exam*.o.
Defined in cl_GV_number.o, part of libcln.so.
> > Ralf, could you look on your system?
> > I know nm shows symbols in object files and libs.
> > or which subpart of these names do I have to search for?
>
> Since it seems to work elsewhere, maybe you should start having a look at
> your toolchain, now.
Maybe not. There was still a difference: He's using 1.1.8 and I am
using HEAD. I tried 1.1.8 now, which gives me that same warning
*** Warning: linker path does not have real file for library -lgmp.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libgmp but no candidates were found. (...for file magic test)
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
but still makes `make check' pass. So I guess the libtool update made
that disappear. Don't know if it fixed other, distribution-related
specialties.
>>> BTW, what is that entire message trying to tell me? If LD_LIBRARY_PATH
>>> was missing one should not be able to configure with gmp in the first
>>> place.
That libgmp was not found. Not all systems are able to link in a shared
library that does not exist at link time. And none can do so with a
static library (of course). Was that answer too easy or did I miss your
point?
> The major Linux distributors have a track record of
> patching GCC enough to cause problems which are absent in vanilla sources.
> Could you compile some recent binutils into a local prefix, then bootstrap
> GCC 3.4.2 and try these?
Let's try the easy things first: Was `ldconfig' run after libgmp
installation (that should've been done automatically)? Try
strings /etc/ld.so.cache | grep gmp
to see if it finds the correct library. Furthermore, I suggest he try
an updated cln (could you make one available?) and then proceed, since
the ChangeLog indicates more x86_64 relevant changes after the 1.1.8
release.
BTW, a build with `CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32' fails in
several places.
Regards,
Ralf
More information about the CLN-list
mailing list