[Live-devel] shared library

Benjamin Drung bdrung at debian.org
Fri Dec 21 07:52:23 PST 2012


Am Freitag, den 21.12.2012, 15:55 +1000 schrieb Ross Finlayson:
> > 1) We need symbolic links on Linux for shared libraries. For
> > example,
> > libfoo.so.1.2.3 would required these symlinks:
> > 
> > libfoo.so.1 -> libfoo.so.1.2.3
> > libfoo.so -> libfoo.so.1.2.3
> > 
> > libfoo.so.1.2.3 and libfoo.so.1 will be shipped in the library
> > package
> > and libfoo.so will be shipped in the development package.
> > 
> > I have created an install target (patch attached). PREFIX and LIBDIR
> > needs to be defined in the other config.* files. The ln commands
> > create
> > the symbolic link described above, but they should be not run for
> > other
> > system (for example, config.linux).
> 
> 
> Thanks.  FYI, I figured out a mechanism that causes the symbolic links
> to be created only when shared libraries are being built.  I've now
> installed a new version of the code (2012.12.21) that includes your
> suggestion for adding an "install:" target.
> 
> 
> Please check that this version works OK for you now (after running
> "genMakefiles linux-with-shared-libraries")

Thanks. The install target for the base Makefile is missing
(install-target.patch attached). Your mechanism that causes the symbolic
links to be created only when shared libraries are being built works.

It would be a good idea to add a pkg-config file for the shared
libraries. Is one pkg-config file that links against all four libraries
enough or should there be one pkg-config file for each library. The
latter is useful if the four libraries are used separately.

> > 2) The *_VERSION_CURRENT, *_VERSION_REVISION, *_VERSION_AGE
> > variables
> > should be put into a separate file, because they are not Linux
> > specific.
> > They should be used on other systems (e.g. BSD) too.
> 
> 
> Yes - I'll arrange for those variables to be set the same way in each
> "config.<mumble>" file (for shared libraries) that ends up getting
> distributed with the code.

Thanks.

> > 3) Some symbols used by the shared libraries are not found in none
> > of
> > the libraries (build.log attached).
> 
> 
> Are you sure about these?  When static libraries are built (and
> applications linked against them), I don't see complaints about any
> undefined symbols.  It seems unlikely, then that there would be a
> problem with undefined symbols just when shared libraries are used.
>  (Or perhaps there's a problem with the order in which the shared
> libraries are linked against the applications??)

These warning are generated by dpkg-shlibdeps. I was able to build VLC
against the shared library version. Therefore I am not sure if these
dpkg-shlibdeps warning are a problem. It's better to diagnose the cause
instead of ignoring a warning.

-- 
Benjamin Drung
Debian & Ubuntu Developer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: install-target.patch
Type: text/x-patch
Size: 599 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20121221/1de54ca3/attachment.bin>


More information about the live-devel mailing list