[Ffmpeg-devel] Shared libraries install script broken in cvs

Diego Biurrun diego
Thu Dec 15 23:15:16 CET 2005


On Thu, Dec 15, 2005 at 08:17:25PM +0000, M?ns Rullg?rd wrote:
> Diego Biurrun <diego at biurrun.de> writes:
> 
> > 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 you configure --prefix=/home/user/ffmpeg or whatever, installing is
> no problem at all, but ldconfig won't even look there unless told to
> do so.

Of course.

> >> 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':
> >
> > 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
> 
> Since we are already creating that link, what's so bad about creating
> the other one?

Nothing.

> > So this should be enough.  Unless we could drop ldconfig entirely in
> > favor of creating the links ourselves.
> 
> I don't see a problem with that.  If a system requires ldconfig to be
> run after installing libraries, it should be up to the system
> administrator to do it.  Package managers typically run ldconfig.

OK, let me ask more directly: Are you in favor of dropping ldconfig and
creating those symlinks ourselves?

Diego





More information about the ffmpeg-devel mailing list