Message104054
> Roumen, I do not see a line in configure.in that tests for the
> libraries that readline is linked against.
The test in configure is how to link application to readline libs.
Platforms that support linking of shared libraries with unresolved
symbols cannot link readline to termcap compatible library if they offer
more then one. I think that this is the bug in package build on those
system as this limit applications to use other termcap libraries.
Not all linux link readline to termcap compatible library:
- SuSe (checked on 11.0) linked to ncurses :(
- Fedora (verified v 12) and Slackware - not linked . So no issue
(before) on those platforms as application can link to any termcap
compatible library and python will select ncursesw. On those platforms I
expect Stefan patch to return empty string and python to fail to build
readline module.
As configure detect how to link readline we could uncomment
READLINE_LIBS and to add as makefile macroand to use by setup.py. If
READLINE_LIBS contain only -lreadline => on this platform readline is
already linked to termcap compatible library.
Also detection of dependent libraries that use ldd is limited to
platforms that has this command, i.e. is not portable.
If distutils support a method that return dependency libraries we could
use. (
I'm not familiar with python curses module to propose a patch .
Is possible to to run sample program to detect readline curses library ?
Or may be to try to link sample "int main() { readline(); }" and to ask
compiler/linker to warn for duplicate symbols. Something like :
$ gcc -Wl,--warn-common test-readline.c -lreadline -lncursesw -lncursesw
$ gcc -Wl,--warn-common test-readline.c -lreadline -ltermcap -lncurses
.../libncurses.so: warning: common of `ospeed' overridden by larger common
.../libtermcap.so: warning: larger common is here
$ gcc -Wl,--warn-common test-readline.c -lreadline -ltermcap -lncursesw
..../libncursesw.so: warning: common of `ospeed' overridden by larger common
..../../libtermcap.so: warning: larger common is here
FIXME with more portable and more correct command.
Roumen |
|
Date |
User |
Action |
Args |
2010-04-23 21:40:32 | rpetrov | set | recipients:
+ rpetrov, akuchling, mark.dickinson, asmodai, r.david.murray, skrah |
2010-04-23 21:40:28 | rpetrov | link | issue7384 messages |
2010-04-23 21:40:27 | rpetrov | create | |
|