[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