symbol not found involving dynlink/dlopen/embedding Python [platform information]
Christopher Armstrong
radeex at gmail.com
Sun Dec 19 05:12:30 EST 2004
Sorry, I forgot to put information about my platform.
Debian unstable on linux kernel 2.4.20, Debian's package of Python2.3.
gcc version 3.3.3
libc version 2.3.2
libc.so.6 output follows:::
radix at toshi ~% /lib/libc.so.6
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.3.4 (Debian 1:3.3.4-6).
Compiled on a Linux 2.6.0-test7 system on 2004-08-10.
Available extensions:
GNU libio by Per Bothner
crypt add-on version 2.1 by Michael Glad and others
linuxthreads-0.10 by Xavier Leroy
BIND-8.2.3-T5B
libthread_db work sponsored by Alpha Processor Inc
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
On Sun, 19 Dec 2004 20:55:20 +1100, Christopher Armstrong
<radeex at gmail.com> wrote:
> With the following situation, Numarray can't find Python's symbols.
>
> problematic-Python::
> Main dlopens Two
> Two dynlinks Python
> Python dlopens Numarray
> Numarray dynlinks Python
>
> I have another pure-C example that tries to mirror this, with::
>
> minimal-C::
> Main dlopen Two
> Two dynlink Middle
> Middle dlopen Three
> Three dynlink Middle
>
> and it works fine.
>
> AFAICT, I'm using the same dlopen flags that Python is.
>
> The minimal reproduction code is very small, but broken into several
> files (to emulate the different parts). It's browsable at
> http://twistedmatrix.com/users/radix/dynlink-problem , and
> downloadable at
> http://twistedmatrix.com/users/radix/dynlink-problem/dynlink-problem.tar.gz
>
> After doing some googling, I've found several people that look like
> they have similar problems. I even found one workaround involving
> LD_PRELOAD. if you LD_PRELOAD=python2.3.so ./main, then the symbols
> are found.
>
> Does anyone have any idea on how I can solve this? I'd like to not
> hack CPython, and not have tie the build to a single machine.
>
>
> --
> Twisted | Christopher Armstrong: International Man of Twistery
> Radix | -- http://radix.twistedmatrix.com
> | Release Manager, Twisted Project
> \\\V/// | -- http://twistedmatrix.com
> |o O| | Founding Member, Hobart Hacking Society
> w----v----w-+ -- http://hackingsociety.org/chapters/hash
>
--
Twisted | Christopher Armstrong: International Man of Twistery
Radix | -- http://radix.twistedmatrix.com
| Release Manager, Twisted Project
\\\V/// | -- http://twistedmatrix.com
|o O| | Founding Member, Hobart Hacking Society
w----v----w-+ -- http://hackingsociety.org/chapters/hash
More information about the Python-list
mailing list