[sldev] Re: CMake preview available - please try it out!

Robin Cornelius robin.cornelius at gmail.com
Mon Feb 4 06:22:58 PST 2008


On Feb 4, 2008 2:11 PM, Dale Glass <dale at daleglass.net> wrote:
> On Monday 04 February 2008 10:02:56 Robin Cornelius wrote:
> > I would guess xmlrpc-epi.so as there are many other xmlrpc libraries
> > available and it minimisies collision chances with another installed
> > library and it is obvious which xmlrpc library you are looking at.
> >
> > Also this is what the default ./configure make make install scripts
> > generate.
> Actually no, the xmlrpc-epi-0.51 package I have generates a
> libxmlrpc.so.0.0.3

Ok you have a SONAME with version, but the package should also create
symlinks from :-

lrwxrwxrwx 1 root root    22 2008-01-02 15:51
/usr/lib/libxmlrpc-epi.so -> libxmlrpc-epi.so.0.0.3
lrwxrwxrwx 1 root root    22 2008-01-02 15:51
/usr/lib/libxmlrpc-epi.so.0 -> libxmlrpc-epi.so.0.0.3
-rw-r--r-- 1 root root 61040 2007-11-15 12:39 /usr/lib/libxmlrpc-epi.so.0.0.3

Thats what a debian installed xmlrpc-epi and xmlrpc-epi-dev packages produce.

>
> > It is usual on distro based systems to have a lib and a develo
> > pacakge. The lib contains xmlrpc-epi.so.0 which has the so name
> > appended and the develo package contains the headers AND a
> > xmlrpc-epi.so symlink. Applications would build against xmlrpc-epi.so
> > then due to the symlink the binary becomes dependent on
> > xmlrpc-epi.so.0.
> The actual name generated is libxmlrpc-epi.so.0.0.3. ldconfig then symlinks
> that to libxmlrpc-epi.so.0. But CMake is looking libxmlrpc-epi.so.
>
> So how do I either convince ldconfig to make a libxmlrpc-epi.so, or CMake
> to use the .0?
>

ldconfig should never make the libxmlrpc-epi.so, libtool should be
doing this in the build of the library or possibly the packaging could
generate the link if its missing (or is possibly not packaging up the
missing link).

An application at build time should always link against the
libxmlrpc-epi.so or you have to rewrite the application build code
everytime the library version changes.

The quick workaround is to symlink  /usr/lib/libxmlrpc-epi.so ->
libxmlrpc-epi.so.0.0.3

The correct fix is to mend the package or to generate a -dev package etc.

Robin


More information about the SLDev mailing list