[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15406: buggy library symlink install due to use of ldconfig
From: |
Vincent Lefevre |
Subject: |
bug#15406: buggy library symlink install due to use of ldconfig |
Date: |
Wed, 18 Sep 2013 13:28:18 +0200 |
User-agent: |
Mutt/1.5.21-6305-vl-r59709 (2013-04-16) |
I've reported the following bug in the Debian BTS:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723638
Some MPFR user found the following problem:
https://sympa.inria.fr/sympa/arc/mpfr/2013-09/msg00018.html
which I can reproduce below.
When installing two different versions of MPFR in the same directory,
I get:
[...]
libtool: install: /usr/bin/install -c .libs/libmpfr.so.4.1.2
/home/vlefevre/tmpmpfr/lib/libmpfr.so.4.1.2
libtool: install: (cd /home/vlefevre/tmpmpfr/lib && { ln -s -f libmpfr.so.4.1.2
libmpfr.so.4 || { rm -f libmpfr.so.4 && ln -s libmpfr.so.4.1.2 libmpfr.so.4; };
})
libtool: install: (cd /home/vlefevre/tmpmpfr/lib && { ln -s -f libmpfr.so.4.1.2
libmpfr.so || { rm -f libmpfr.so && ln -s libmpfr.so.4.1.2 libmpfr.so; }; })
[...]
for the first one (MPFR 3.1.2), and:
[...]
libtool: install: /usr/bin/install -c .libs/libmpfr.so.4.1.0
/home/vlefevre/tmpmpfr/lib/libmpfr.so.4.1.0
libtool: install: (cd /home/vlefevre/tmpmpfr/lib && { ln -s -f libmpfr.so.4.1.0
libmpfr.so.4 || { rm -f libmpfr.so.4 && ln -s libmpfr.so.4.1.0 libmpfr.so.4; };
})
libtool: install: (cd /home/vlefevre/tmpmpfr/lib && { ln -s -f libmpfr.so.4.1.0
libmpfr.so || { rm -f libmpfr.so && ln -s libmpfr.so.4.1.0 libmpfr.so; }; })
[...]
for the second one (MPFR trunk r8680), which yields:
lrwxrwxrwx 1 16 2013-09-18 12:42:10 libmpfr.so -> libmpfr.so.4.1.0
lrwxrwxrwx 1 16 2013-09-18 12:42:10 libmpfr.so.4 -> libmpfr.so.4.1.2
-rwxr-xr-x 1 1913565 2013-09-18 12:42:10 libmpfr.so.4.1.0
-rwxr-xr-x 1 1821786 2013-09-18 12:41:21 libmpfr.so.4.1.2
libmpfr.so.4 doesn't have the correct target!
After looking at strace output, the change of libmpfr.so.4 to point
back to libmpfr.so.4.1.2 is done by ldconfig after the installation
of the symlinks:
libtool: finish:
PATH="/home/vlefevre/eftests/bin:/home/vlefevre/bin:/home/vlefevre/x86_64/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/games:.:/sbin"
ldconfig -n /home/vlefevre/tmpmpfr/lib
This is probably not what the user expects and leads to confusion.
Either ldconfig should no longer be executed or the "make install"
should fail with a clear error message if the installed library is
not the "most recent" one.
("most recent" is the term used by ldconfig, but in practice, the
highest-version library may not be the most recent due to development
versions, which may not have accurate versioning information yet.)
--
Vincent Lefèvre <address@hidden> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#15406: buggy library symlink install due to use of ldconfig,
Vincent Lefevre <=