Debian libraries, .deb, .rpm
cdl at proxima.ucsd.edu
Tue Nov 26 10:55:08 PST 2002
I am trying to run the software package "htmldoc" on my Alpha DS10.
Debian 3.0, kernel 2.2.20. As background information, htmldoc
produces PostScript documentation from HTML documentation. It does a
good job when running on Sparc/Solaris. It crashes with floating-point
exceptions on the Alpha, but not always. Just for some input .html
So I need the math library from Compaq that handles Alpha FP exceptions
properly. It's available as an .rpm file. Download it, convert to
.deb using "alien", install it. I get, among other things,
-rw-r--r-- 1 9394 root 1250518 Feb 11 2002 /usr/lib/compaq/cpml-5.2.0/libcpml_ev6.a
-rw-r--r-- 1 9394 root 0 Feb 15 2002 /usr/lib/compaq/cpml-5.2.0/libcpml_ev6.so
One of these is a normal library, the other is a shared object library.
But the .so has length 0. This of course makes it not work when I try
to build htmldoc from the sources, which is what started this exercise.
I go back to the original downloaded .rpm and use the magic command
$rpm -qvlp cpml_ev6-5.2.0-1.alpha.rpm
It tells me the same thing about those two files, namely that the .a
has length 1250518 and the .so has length 0.
Email to HP/Compaq/DEC asking about this brings me the reply
"I suspect that the RPM creates the shared library from the archive
and overwrite s that zero length file when you install. Try installing
and let us know if you still have a problem."
I don't think there is any way to create a lib.so from a lib.a because
the object files are compiled with different options to make lib.so.
Also I can't find any post-install script in the .rpm that might do this.
So what I am asking for is comments on:
1) how do I for sure find out what a .rpm file does beyond just
unpacking files and putting them in directories.
2) can a program really create lib.so from lib.a and if so how.
More information about the KPLUG-List