[Ffmpeg-devel] Shared libraries install script broken in cvs
Thu Dec 15 19:01:29 CET 2005
On Thu, Dec 15, 2005 at 11:06:05AM +0000, M?ns Rullg?rd wrote:
> The current makefile attempts to run ldconfig, but fails if 'make install'
> is not run as root, or if $libdir is not in /etc/ld.so.conf.
Yes. Is that really a problem? I mean that in the sense of: Don't all
(most) install routines work that way? What's the alternative?
> If we are to
> rely on ldconfig creating the links, we should be running it in a way that
> doesn't fail, or at the very least document that the user must do whatever
> it takes to have the links created. Furthermore, just running ldconfig is
> not enough to create all links needed, as ldconfig only creates a link for
> the library SONAME (e.g. libavcodec.so.0), not the unversioned name of the
> library (e.g. libavcodec.so). The latter is required for linking with the
> library, since the linker will only search for lib*.so and lib*.a, and not
> names with a version number appended. Creating libfoo.so links is not the
> job of ldconfig. Its job is to create the links needed to resolve runtime
> dependencies, nothing else.
We already do that, here are some of the lines printed by 'make -n
install -d /usr/local/lib
install -s -m 755 libavcodec.so /usr/local/lib/libavcodec-CVS.so
ln -sf libavcodec-CVS.so /usr/local/lib/libavcodec.so
ldconfig || true
So this should be enough. Unless we could drop ldconfig entirely in
favor of creating the links ourselves.
> Phew, I don't think I'd be able to go on much longer keeping the lines all
> the same length.
More information about the ffmpeg-devel