[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Segfault in libltdl
From: |
Kai Sterker |
Subject: |
Re: Segfault in libltdl |
Date: |
Sat, 23 May 2009 13:45:52 +0200 |
On Fri, May 22, 2009 at 7:43 PM, Ralf Wildenhues <address@hidden> wrote:
> Was
> LTDL_SET_PRELOADED_SYMBOLS();
>
> called before using libltdl?
No.
> Does adding it fix the segfault?
Leads to another error:
address@hidden:~/adonthell/adonthell-build$ python
../adonthell/test/eventtest.py
Traceback (most recent call last):
File "../adonthell/test/eventtest.py", line 1, in <module>
from adonthell import base, main, event
File "/usr/local/lib/python2.6/dist-packages/adonthell/main.py",
line 6, in <module>
import _main
ImportError: /usr/local/lib/libadonthell_main.so.0: undefined symbol:
lt__PROGRAM__LTX_preloaded_symbols
I read up on LTDL_SET_PRELOADED_SYMBOLS a bit and it appears that to
use it, one must also link with -dlopen or -dlpreopen. This is
something that did not happen before. It also poses a problem ... the
module main/_sdl.so links to libadonthell_main. But it is
libadonthell_main that opens main/_sdl.so. So I have to build
libadonthell_main before the module, meaning I cannot add -dlopen
_sdl.la to its linker flags, since it then complains that _sdl.la does
not exist.
I must confess that I do not really understand the inner workings of
all of this (and I guess this is the wrong place to discuss those). It
just seems that something has changed from libtool 1.5.x to 2.x that
breaks what used to work before. (I did a search for the undefined
error and found a number of similar cases, but didn't dig deep enough
to find a solution).
The bigger question is, is the use of LTDL_SET_PRELOADED_SYMBOLS
required now? Or should it still work without (since it used to do so
before)?
Could the problem relate to using the deprectated AC_PROG_LIBTOOL et
al macros instead of LT_INIT and friends? But latter are not present
in libtool 1.5.x, so this would require a switch to libtool 2.x.
Kai