Embedded Python can't "import socket" -- "undefined symbol"
Oleg Broytmann
phd at emerald.netskate.ru
Wed Jul 14 04:58:36 EDT 1999
More information about the Python-list mailing list
Wed Jul 14 04:58:36 EDT 1999
- Previous message (by thread): Embedded Python can't "import socket" -- "undefined symbol"
- Next message (by thread): HTML parser/reformatter/filter wanted
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 13 Jul 1999, Steven Work wrote: > I am embedding Python in a C program (on Linux 2.2.x, Debian 2.1), and > trying to run a script via PyRun_SimpleFile(). "print 'hello, world'" > works, but "import socket" dies. Can anyone help me find out why? > > $ ./testfile > Traceback (innermost last): > File "jukebox_xml.py", line 1, in ? > import socket > ImportError: /usr/lib/python1.5/lib-dynload/socketmodule.so: > undefined symbol: _Py_NoneStruct > $ nm testfile | grep NoneStruct > 0808ecfc D _Py_NoneStruct > > And of course "import socket" works fine in /usr/bin/python. _Py_None_Struct (and other symbols) should be exported from your main program to link successfully. You haven't mention your OS and compiler, but I think it is ELF-based UNIX, and probably gcc, right? Add -Wl,-E to compiler flags. This means "pass -E to ld linker", which in turn means "export all symbols from main linked module". "man ld" for detalils on -E flag. > -- > Steven Work > Renaissance Labs > steve at renlabs.com > 360 647-1833 Oleg. ---- Oleg Broytmann Netskate/Inter.Net.Ru phd at emerald.netskate.ru Programmers don't die, they just GOSUB without RETURN.
- Previous message (by thread): Embedded Python can't "import socket" -- "undefined symbol"
- Next message (by thread): HTML parser/reformatter/filter wanted
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list