[Python-Dev] readline not getting built when .so symlink doesn't exist
firstname.lastname@example.org (Skip Montanaro)
Mon, 4 Jun 2001 11:29:53 -0500
I recently upgraded to Mandrake 8.0. I find that the readline module is no
longer getting built. When building, it builds rgbimb followed immediately
by crypt. Readline, which is tested for in between, is not built.
Apparently, it can't find one of the libraries required to build it. On my
system, both readline and termcap are in /lib. Neither has a static version
available and neither as a plain .so file available. The .so file always
has a version number tacked onto the end:
% ls -l /lib/libtermcap* /lib/libreadline*
lrwxrwxrwx 1 root root 18 May 29 10:53 /lib/libreadline.so.4 -> libreadline.so.4.1
-rwxr-xr-x 1 root root 152440 Mar 25 01:26 /lib/libreadline.so.4.1
lrwxrwxrwx 1 root root 19 May 29 10:53 /lib/libtermcap.so.2 -> libtermcap.so.2.0.8
-rwxr-xr-x 1 root root 11608 Mar 26 10:32 /lib/libtermcap.so.2.0.8
If I create the necessary .so symlinks it builds okay.
Perhaps this is a bug in Mandrake 8.0 (it wouldn't be the first one), but if
it is valid for shared libraries to be installed with only a
version-numbered .so file, then it seems to me that distutils ought to
handle that. There are several programs in /usr/bin on my machine that seem
to be dynamically linked to libreadline. In addition,
/usr/lib/python2.0/lib-dynload/readline.so exists, which suggests that the
.so-without version number is valid as far as ld is concerned.