[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Now some joy.... 8-O !!
From: |
Bruce Korb |
Subject: |
Re: Now some joy.... 8-O !! |
Date: |
Wed, 23 Feb 2005 07:20:35 -0800 |
User-agent: |
KMail/1.7.1 |
Hi Gary!
The solution is at the bottom. I stumbled onto it by playing
around with "env -" prefixes on various commands.
On Wednesday 23 February 2005 04:15 am, Gary V. Vaughan wrote:
> Hallo Bruce!
> You only need -export-dynamic if you are going to use lt_dlopen (NULL)
> to get a reflective module handle... and even then, I think you only
It actually doesn't affect anything. I think it is a dinkleberry
from an occasion when I was twiddling everything until something worked.
> > The net result:
> >
> >>+ /home/bkorb/ag/ag/agen5/autogen \
> >>-L/home/bkorb/ag/ag/autoopts argument.def
> >>/home/bkorb/ag/ag/agen5/.libs/lt-autogen: symbol lookup error: \
> >>/home/bkorb/ag/ag/agen5/.libs/lt-autogen: undefined symbol: optionStackArg
>
> Is this an error from the runtime linker? Or from a dlsym/lt_dlsym call?
It is from ld.so.
> What does "ldd .libs/lt-autogen" give you? What about "../libtool
> -mode=execute ldd ./autogen"?
>
> >>+ failure AutoGen could not process
> >>
> >>$ nm /home/bkorb/ag/ag/autoopts/.libs/libopts.so|fgrep optionStackArg
> >>0000bb31 T optionStackArg
>
> Presumably "nm /usr/local/lib/libopts.so | grep optionStackArg" give U?
$ env - ldd ag/ag/agen5/.libs/lt-autogen
linux-gate.so.1 => (0xffffe000)
libopts.so.25 => /home/bkorb/ag/ag/autoopts/.libs/libopts.so.25
(0x40018000)
libguile.so.12 => /usr/lib/libguile.so.12 (0x40050000)
libguile-ltdl.so.1 => /usr/lib/libguile-ltdl.so.1 (0x400f2000)
libqthreads.so.12 => /usr/lib/libqthreads.so.12 (0x400f7000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x400f9000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4010b000)
libm.so.6 => /lib/tls/libm.so.6 (0x4013d000)
libdl.so.2 => /lib/libdl.so.2 (0x40161000)
libc.so.6 => /lib/tls/libc.so.6 (0x40165000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ nm /home/bkorb/ag/ag/autoopts/.libs/libopts.so.25 | fgrep optionStackArg
0000bb31 T optionStackArg
Bizarre. If I set and export LD_LIBRARY_PATH to
/home/bkorb/ag/ag/autoopts/.libs
then all is well.
> Argh, the attached wrapper appears to be clearing LD_LIBRARY_PATH.
Setting it to /home/bkorb/ag/ag/autoopts/.libs resolves the problem.
> Are you using fast-install mode (./configure --enable-fast-install)?
No. I tried --disable-fast-install, but it wasn't helpful.
I believe fast-install is enabled by default (otherwise there would
not be a "lt-autogen" executable lying about).
> Does the autogen binary install without needing to be relinked?
$ env - ldd ag/ag/agen5/.libs/autogen
linux-gate.so.1 => (0xffffe000)
libopts.so.25 => /usr/local/lib/libopts.so.25 (0x40018000)
libguile.so.12 => /usr/lib/libguile.so.12 (0x4004e000)
libguile-ltdl.so.1 => /usr/lib/libguile-ltdl.so.1 (0x400f0000)
libqthreads.so.12 => /usr/lib/libqthreads.so.12 (0x400f5000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x400f7000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40109000)
libm.so.6 => /lib/tls/libm.so.6 (0x4013b000)
libdl.so.2 => /lib/libdl.so.2 (0x4015f000)
libc.so.6 => /lib/tls/libc.so.6 (0x40163000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
I do not think a relink is necessary.
> What architecture are you running all of this on at the moment?
Some funny off-the-wall platform:
$ uname -a ; ag/ag/config/config.guess
Linux bach 2.6.8-24.11-default #1 Fri Jan 14 13:01:26 UTC 2005 i686
i686-pc-linux-gnu
========================================================================
The solution comes from not using LD_RUN_PATH. That affects ld.so's
behavior in the libtool replacement script. I have it set because my
stock ".profile" scripts add it to cover oddball libraries. It avoids
nuisances for non-libtool builds. So all I have to do is unset it in
my build-and-test script.
Thank you, Gary. Your queries got me onto the path to the solution!
Regards, Bruce