linking errors with debug build of Python2.4.3
Martin Wiechert
martin.wiechert at gmx.de
Wed May 24 10:48:22 EDT 2006
Hi list,
I've created a fresh build of Python 2.4.3 using the following configuration
$ ./configure --with-pydebug --prefix=/usr/local/debug --enable-shared
--with-fpectl --with-signal-module
in particular I used --with-pydebug.
Now when I start the interpreter some dynamically loaded modules do not see
debug-related symbols:
$ /usr/local/debug/bin/python
Python 2.4.3 (#1, May 12 2006, 05:35:54)
[GCC 4.1.0 (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/etc/pythonstart", line 7, in ?
import readline
ImportError: /usr/local/debug/lib/python2.4/lib-dynload/readline.so: undefined
symbol: _Py_RefTotal
>>>
I've attached a shell session with the outputs of ldd and nm on readline.so
What did I do wrong?
My System is SuSE Linux 10.1 on Intel.
Any help would be much appreciated.
Thanks, Martin.
-------------- next part --------------
wiechert at bit:~> ldd /usr/local/debug/lib/python2.4/lib-dynload/readline.so
linux-gate.so.1 => (0xffffe000)
libreadline.so.5 => /lib/libreadline.so.5 (0xb7edd000)
libncursesw.so.5 => /usr/lib/libncursesw.so.5 (0xb7e90000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7e7c000)
libc.so.6 => /lib/libc.so.6 (0xb7d5c000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb7d14000)
libdl.so.2 => /lib/libdl.so.2 (0xb7d10000)
/lib/ld-linux.so.2 (0x80000000)
wiechert at bit:~> nm /usr/local/debug/lib/python2.4/lib-dynload/readline.so
U add_history
00004e68 b begidx
00004e30 A __bss_start
00001780 t call_gmon_start
00002bb7 t call_readline
U clear_history
00004e40 b completed.5751
00004e64 b completer
U completion_matches
00004004 d __CTOR_END__
00004000 d __CTOR_LIST__
w __cxa_finalize@@GLIBC_2.1.3
00004840 d doc_add_history
00004b60 d doc_clear_history
00004640 d doc_get_begidx
000049e0 d doc_get_completer
00004880 d doc_get_completer_delims
00004aa0 d doc_get_current_history_length
000046a0 d doc_get_endidx
00004a40 d doc_get_history_item
00004b00 d doc_get_line_buffer
00004ba0 d doc_insert_text
00004c60 d doc_module
00004260 d doc_parse_and_bind
00004340 d doc_read_history_file
000042c0 d doc_read_init_file
00004be0 d doc_redisplay
00004760 d doc_remove_history
000047c0 d doc_replace_history
000048e0 d doc_set_completer
00004700 d doc_set_completer_delims
00004580 d doc_set_startup_hook
000043c0 d doc_write_history_file
00002e10 t __do_global_ctors_aux
000017b0 t __do_global_dtors_aux
00004240 d __dso_handle
0000400c d __DTOR_END__
00004008 d __DTOR_LIST__
00004014 a _DYNAMIC
00004e30 A _edata
U emacs_meta_keymap
00004f1c A _end
00004e6c b endidx
U __errno_location@@GLIBC_2.0
00002e44 T _fini
0000286e t flex_complete
00001810 t frame_dummy
000031ac r __FRAME_END__
U free@@GLIBC_2.0
00001e6a t get_begidx
000022a1 t get_completer
00002242 t get_completer_delims
000023c1 t get_current_history_length
00001ea2 t get_endidx
0000231f t get_history_item
00001bf3 t get_history_length
00004500 d get_history_length_doc
00002404 t get_line_buffer
00004148 a _GLOBAL_OFFSET_TABLE_
w __gmon_start__
U history_get
U history_get_history_state
0000433c d _history_length
U history_truncate_file
00001847 t __i686.get_pc_thunk.bx
00002e09 t __i686.get_pc_thunk.cx
000013e8 T _init
00002da9 T initreadline
00002477 t insert_text
00004e80 b jbuf
00004010 d __JCR_END__
00004010 d __JCR_LIST__
w _Jv_RegisterClasses
U longjmp@@GLIBC_2.0
U malloc@@GLIBC_2.0
000026d7 t on_completion
00002542 t on_hook
00002ad8 t onintr
000026b1 t on_startup_hook
00004244 d p.5749
0000184c t parse_and_bind
000021c2 t py_add_history
U PyArg_ParseTuple
U PyCallable_Check
0000242c t py_clear_history
U _Py_Dealloc
U PyErr_Clear
U PyErr_Format
U PyErr_NoMemory
U PyErr_Occurred
U PyErr_SetFromErrno
U PyErr_SetString
U PyExc_IOError
U PyExc_TypeError
U PyExc_ValueError
U Py_FatalError
U PyGILState_Ensure
U PyGILState_Release
U Py_InitModule4TraceRefs
U PyInt_AsLong
U PyInt_FromLong
U PyMem_Malloc
U _Py_NegativeRefcount
U _Py_NoneStruct
U PyObject_CallFunction
U PyOS_InputHook
U PyOS_ReadlineFunctionPointer
U PyOS_setsig
U PyOS_snprintf
U _Py_RefTotal
00001f74 t py_remove_history
00002090 t py_replace_history
U PyString_AsString
U PyString_FromString
U read_history
000019db t read_history_file
00001929 t read_init_file
U readline
00004cc0 d readline_methods
00002b00 t readline_until_enter_or_signal
000024f7 t redisplay
U remove_history
U replace_history_entry
U rl_attempted_completion_function
U rl_attempted_completion_over
U rl_bind_key
U rl_bind_key_in_map
U rl_complete
U rl_completer_word_break_characters
U rl_completion_append_character
U rl_event_hook
U rl_initialize
U rl_insert
U rl_insert_text
U rl_instream
U rl_line_buffer
U rl_outstream
U rl_parse_and_bind
U rl_prep_terminal
U rl_read_init_file
U rl_readline_name
U rl_redisplay
U rl_startup_hook
0000226a t set_completer
00001eda t set_completer_delims
00001b6c t set_history_length
00004440 d set_history_length_doc
00001c19 t set_hook
U _setjmp@@GLIBC_2.0
U setlocale@@GLIBC_2.0
00001e33 t set_startup_hook
0000299d t setup_readline
U sigrelse@@GLIBC_2.1
00004e60 b startup_hook
U strcmp@@GLIBC_2.0
U strcpy@@GLIBC_2.0
U strdup@@GLIBC_2.0
U strncpy@@GLIBC_2.0
U using_history
U write_history
00001a8d t write_history_file
wiechert at bit:~>
More information about the Python-list
mailing list