Debian libraries, .deb, .rpm

Carl Lowenstein 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
pages.

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.

    carl



More information about the KPLUG-List mailing list