[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#833728: ldconfig causes FTBFS by creating spurious symlink to symlink



On 2016-08-08 11:54, Thibaut Paumard wrote:
> Package: libc-bin
> Version: 2.19-18+deb8u4
> Severity: important
> File: /sbin/ldconfig
> Tags: upstream
> 
> Hi,

Hi,

> This bug is akin to 249122, but (in my opinion) sufficiently different that it
> should be tracked as a separate bug.

I agree it's a different issue.

> A bug has recently been open against yorick which FTBFS (831406) and mpich
> (831442) in which the following happens, due to the behaviour of ldconfig:
> 
> libmpich12 and libopenmpi10 provide /usr/lib/libmpi.so as an alternative that
> may point to either
>  /usr/lib/x86_64-linux-gnu/libmpich.so.12
> or
>  /usr/lib/openmpi/lib/libmpi.so
> 
> When mpich is installed first, ldconfig detects that the SONAME for
> /usr/lib/libmpi.so is libmpich.so.12 and creates the symlink
> /usr/lib/libmpich.so.12.

It does so because libmpich.so.12 doesn't exist already. If it already
exist in the directory, nothing is changed.

> If one then installs libopenmpi10, the alternative is set automatically to
> /usr/lib/openmpi/lib/libmpi.so. We then have /usr/lib/libmpich.so.12 that
> points to /usr/lib/openmpi/lib/libmpi.so, which may lead to badly linked
> binaries and
> 
> Since about one month, the autobuilders have started to always install mpich
> before openmpi, which is what causes the FTBFS in yorick. There is no way this
> can be fixed in the yorick package. There may be workarounds possible to
> implement in mpich and openmpi, but I would argue that the bug really lies in
> ldconfig.
> 
> ldconfig could detect that /usr/lib/libmpi.so is an alternative (subject to
> changes), and not operate on such links.

I disagree there are many reason to have a .so as a symlink and
ignoring symlinks is likely to have side effects.

> ldconfig could also detect that /usr/lib/libmpi.so is points (indirectly) to a
> correctly named file in a directory that is listed in ld.so.conf, and not
> operate in this case.

/usr/lib/libmpi.so points to /usr/lib/x86_64-linux-gnu/libmpich.so.12.1.0
which indeed is correctly named. Knowing about that still doesn't bring
any information about the libmpich.so.12 symlink.

> Since this issue eventually causes an FTBFS, I set the severity to important.
> If you decide that this is not appropriate, any guidance to work around the
> issue would be appreciated.

The problem there is actually due to multiarch, and the fact that mpich
has been converted to multiarch while both openmpi and the alternative
are in /usr/lib. They should all be on the same side, and the best way
to fix this issue is to convert openmpi and the alternative to
multiarch.

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: