Bug#748569: libllvm3.5: Missing symlink to libLLVM-3.5.so after install

Dave Witbrodt dawitbro at sbcglobal.net
Sun May 18 15:04:47 UTC 2014


Package: libllvm3.5
Version: 1:3.5~svn209039-1
Severity: grave
Justification: causes non-serious data loss


Upgrading to this version caused X Windows to crash as soon as any attempt to
run an OpenGL application was made.  It's possible that people could lose
data when X crashes this way that they really cannot afford to lose, so maybe
the severity should be changed to "critical".


After some investigation, I found out some extra details that I can report:

1)  My desktop manager (lightdm, running Xfce on Sid) respawned and now
attempts to run OpenGL programs no longer crashed X, but they failed to run.
The xsession-errors log revealed that acceleration was not enabled.

2)  I use the radeonsi Mesa driver for acceleration, and this requires the
glamor 2D driver.  The Xorg.0.log file showed that the glamor module could
not locate a file --  libLLVM-3.5.0.so.1:

[ 31667.925] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (libLLVM-3.5.0.so.1: cannot open shared object file: No such file or directory)

3) The contents of package libllvm3.5 do seem to include a symlink matching
the name of the missing file:

# dpkg-deb -c libllvm3.5_1%3a3.5~svn209039-1_amd64.deb 
[...]
-rw-r--r-- root/root  30171784 2014-05-17 08:06 ./usr/lib/x86_64-linux-gnu/libLLVM-3.5.so.1
[...]
lrwxrwxrwx root/root         0 2014-05-17 08:05 ./usr/lib/x86_64-linux-gnu/libLLVM-3.5.0.so.1 -> libLLVM-3.5.so

This symlink is NOT present on my system after libllvm3.5 is installed by
my package manager.

4)  I thought another LLVM 3.5 package might contain the file that the symlink was
supposed to link to, and I found that in llvm-3.5-dev:

# dpkg-deb -c llvm-3.5-dev_1%3a3.5~svn209039-1_amd64.deb | grep "\.so"
-rw-r--r-- root/root  30171656 2014-05-17 08:06 ./usr/lib/llvm-3.5/lib/libLLVM-3.5.so
[...]
lrwxrwxrwx root/root         0 2014-05-17 08:05 ./usr/lib/llvm-3.5/lib/libLLVM-3.5.0.so -> ../../x86_64-linux-gnu/libLLVM-3.5.0.so.1

(Notice that libLLVM-3.5.0.so is supposed to be a symlink to the other symlink
which ends up not being present on my system after the upgrade.)

5)  Inspecting /var/log/dpkg.log, it would seem that libllvm3.5 installs before any
of the other LLVM-related packages.  At that time, without llvm-3.5-dev present to
provide libLLVM-3.5.so, it looks like the symlink gets dropped and does not get
installed.

6)  As a workaround, I manually created a different symlink:

    # cd /usr/lib/x86_64-linux-gnu
    # ln -s -T libLLVM-3.5.so.1 libLLVM-3.5.0.so.1

This resulted in a fully working system, according to all of the testing I've tried
so far.  I do not know if this is the "correct" solution, but I just thought I'd
mention it, since it might allow you to package libllvm3.5 in such a way that it
installs correctly without depending on other packages being installed first.


In any case it is very bad if someone has a previous LLVM installed with working
acceleration, and then upgrading to a new version sets them up so that the moment
they try to run an OpenGL program the X server dies on them!  Fortunately, I am
using software not available in Debian repositories (like glamor) in order to
test the upstream radeonsi support (I need this for my Radeon HD 7850 GPU, which
requires radeonsi for acceleration), so few other people will be affected by
this bug right now.


HTH,
Dave Witbrodt


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (350, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.14.4-1+dwlocal1 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libllvm3.5 depends on:
ii  libc6              2.18-6
ii  libedit2           3.1-20140213-1
ii  libffi6            3.1~rc1+r3.0.13-12
ii  libgcc1            1:4.9.0-3
ii  libstdc++6         4.9.0-3
ii  libtinfo5          5.9+20140118-1
ii  multiarch-support  2.18-6

libllvm3.5 recommends no packages.

libllvm3.5 suggests no packages.

-- no debconf information



More information about the Pkg-llvm-team mailing list