Re: [Python-Dev] readline not getting built when .so symlink doesn't exist

Skip Montanaro <skip@pobox.com> writes:
Hmm. Does compiling a proggie $ gcc foo.c -lreadline work? It doesn't here if I move libreadline.so & libreadline.a out of the way. If the C compiler isn't going to find readline, there ain't much point distutils trying to find it...
There are several programs in /usr/bin on my machine that seem to be dynamically linked to libreadline.
Those things will be directly linked to libreadline.so.whatever; I believe the libfoo.so files are only for the (compile time) linker's benefit.
ld != ld.so. Do you need a readline-devel package or something? Cheers, M. -- It's actually a corruption of "starling". They used to be carried. Since they weighed a full pound (hence the name), they had to be carried by two starlings in tandem, with a line between them. -- Alan J Rosenthal explains "Pounds Sterling" on asr

[my readline woes snipped] Michael> Hmm. Does compiling a proggie Michael> $ gcc foo.c -lreadline Michael> work? It doesn't here if I move libreadline.so & libreadline.a Michael> out of the way. Yup, it does: beluga:tmp% cc -o foo foo.c -lreadline -ltermcap beluga:tmp% ./foo >>sdfsdfsdf sdfsdfsdf (This after deleting both /lib/libreadline.so and /lib/libhistory.so.) In this case, foo.c is #include <stdio.h> #include <readline/readline.h> #include <readline/history.h> main() { printf("%s\n", readline(">>" )); } Michael> Do you need a readline-devel package or something? Got that. I just noticed that "rpm -q --whatprovides /lib/libreadline.so" does list readline-devel as the provider. I just reinstalled it using --force. Now the .so symlinks are there. Go figure... Oh well, probably ought to drop it unless another Mandrake user complains. I'm really amazed at how many packages Mandrake chose *not* to install even though I selected all the groups during install and was installing into fresh / and /usr partitions. I've been dribbling various packages in bit-by-bit as I've discovered omissions. In the past I've also noticed files apparently not installed even though the packages that were supposed to provide them were installed. Skip

[my readline woes snipped] Michael> Hmm. Does compiling a proggie Michael> $ gcc foo.c -lreadline Michael> work? It doesn't here if I move libreadline.so & libreadline.a Michael> out of the way. Yup, it does: beluga:tmp% cc -o foo foo.c -lreadline -ltermcap beluga:tmp% ./foo >>sdfsdfsdf sdfsdfsdf (This after deleting both /lib/libreadline.so and /lib/libhistory.so.) In this case, foo.c is #include <stdio.h> #include <readline/readline.h> #include <readline/history.h> main() { printf("%s\n", readline(">>" )); } Michael> Do you need a readline-devel package or something? Got that. I just noticed that "rpm -q --whatprovides /lib/libreadline.so" does list readline-devel as the provider. I just reinstalled it using --force. Now the .so symlinks are there. Go figure... Oh well, probably ought to drop it unless another Mandrake user complains. I'm really amazed at how many packages Mandrake chose *not* to install even though I selected all the groups during install and was installing into fresh / and /usr partitions. I've been dribbling various packages in bit-by-bit as I've discovered omissions. In the past I've also noticed files apparently not installed even though the packages that were supposed to provide them were installed. Skip
participants (2)
-
Michael Hudson
-
Skip Montanaro