Primus package bug

Anton Fedorov datacompboy at call2ru.com
Fri Jun 14 11:43:46 UTC 2013


Hello, Vincent!

В письме от Птн, 14 Июн 2013, 16:57 Vincent Cheng пишет:
> Unfortunately, I can't reproduce this at all.
Wow! You right...

I have tried to reproduce:

$ sudo aptitude purge ~nbumblebee ~nprimus
$ sudo aptitude install bumblebee-nvidia primus
The following NEW packages will be installed:
  bbswitch-dkms{a} bumblebee{a} bumblebee-nvidia primus primus-libs{a}
primus-libs:i386{a} primus-libs-ia32:i386{a}
$ optirun glxgears
primus: fatal: failed to load any of the libraries:
/usr/$LIB/libGL.so.1:/usr/lib/$LIB/libGL.so.1:/usr/$LIB/mesa/libGL.so.1:/usr/lib/$LIB/mesa/libGL.so.1
/usr/$LIB/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/$LIB/libGL.so.1: cannot open shared object file: No such file or directory
/usr/$LIB/mesa/libGL.so.1: cannot open shared object file: No such file or
directory
/usr/lib/$LIB/mesa/libGL.so.1: cannot open shared object file: No such file or
directory

Now, trying to rebuild fixed primus:
$ cd primus-0~20130511/
$ dpkg-buildpackage -b
...
dpkg-shlibdeps: error: no dependency information found for /lib/librt.so.1 (used
by debian/primus-libs/usr/lib/x86_64-linux-gnu/primus/libGL.so.1)

Ooops! Fix:
$ (cd /lib; sudo ln -fs x84_64-linux-gnu/librt.so.1)
$ dpkg-buildpackage -b
...
dpkg-shlibdeps: error: no dependency information found for /lib/libpthread.so.0
(used by debian/primus-libs/usr/lib/x86_64-linux-gnu/primus/libGL.so.1)

WTF? Fix:
$ (cd /lib; sudo ln -fs x84_64-linux-gnu/libpthread.so.0)
$ dpkg-buildpackage -b
...
dpkg-shlibdeps: error: no dependency information found for /lib/libm.so.6 (used
by debian/primus-libs/usr/lib/x86_64-linux-gnu/primus/libGL.so.1)

What the hell?!
$ (cd /lib; sudo ln -fs x84_64-linux-gnu/libm.so.6)
$ dpkg-buildpackage -b
...
dpkg-shlibdeps: error: no dependency information found for
/lib/ld-linux-x86-64.so.2 (used by
debian/primus-libs/usr/lib/x86_64-linux-gnu/primus/libGL.so.1)

Ahha!
$ (cd /lib; sudo ln -fs x84_64-linux-gnu/ld-linux-x86-64.so.2)
$ dpkg-buildpackage -b
...
dpkg-deb: building package `primus' in `../primus_0~20130511-1_amd64.deb'.
dpkg-deb: building package `primus-libs' in
`../primus-libs_0~20130511-1_amd64.deb'.
dpkg-deb: building package `primus-libs-dbg' in
`../primus-libs-dbg_0~20130511-1_amd64.deb'.

Pkg built, check it still not working:
$ optirun glxgears
working fine.

Well, that means that problem is on install some package replaced required
loader with something weird.

I'm checking /var/cache/apt/archives/ for contents of installed packages:
bbswitch-dkms: nothing intresting
bumblebee: nothing intresting
bumblebee-nvidia: nothing
primus: clean
primus-libs: clean
primus-libs:i386: clean
primus-libs-ia32:i386: clean
So, nothing intresting in packages, but after install, several /lib/* files was
borken. Why?

Going step-by-step reinstall of packages and checking when it fails:
datacompboy at nuuzerpogodible:/var/cache/apt/archives$ sudo dpkg -i
bumblebee-nvidia_3.2.1-1_amd64.deb
(Reading database ... 476282 files and directories currently installed.)
Preparing to replace bumblebee-nvidia 3.2.1-1 (using
bumblebee-nvidia_3.2.1-1_amd64.deb) ...
Unpacking replacement bumblebee-nvidia ...
Setting up bumblebee-nvidia (3.2.1-1) ...
[ ok ] Restarting bumblebeed: bumblebeed.
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
datacompboy at nuuzerpogodible:/var/cache/apt/archives$ optirun glxgears
primus: fatal: failed to load any of the libraries:
/usr/$LIB/libGL.so.1:/usr/lib/$LIB/libGL.so.1:/usr/$LIB/mesa/libGL.so.1:/usr/lib/$LIB/mesa/libGL.so.1
/usr/$LIB/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/$LIB/libGL.so.1: cannot open shared object file: No such file or directory
/usr/$LIB/mesa/libGL.so.1: cannot open shared object file: No such file or
directory
/usr/lib/$LIB/mesa/libGL.so.1: cannot open shared object file: No such file or
directory

Ooops! So, install of bumblebee-nvidia brokes!

Contents of /lib/ after bumblebee-nvidia installation:
$ ls -la /lib/ | grep 2.17
-rwxr-xr-x  1 root root  145040 May 16 18:25 ld-2.17.so
lrwxrwxrwx  1 root root      10 Jun 14 18:37 ld-linux-x86-64.so.2 -> ld-2.17.so
lrwxrwxrwx  1 root root      25 May 16 18:22 ld-linux.so.2 ->
i386-linux-gnu/ld-2.17.so
-rw-r--r--  1 root root    6168 May 16 18:25 libBrokenLocale-2.17.so
lrwxrwxrwx  1 root root      23 May 16 18:25 libBrokenLocale.so.1 ->
libBrokenLocale-2.17.so
-rw-r--r--  1 root root   14864 May 16 18:25 libanl-2.17.so
lrwxrwxrwx  1 root root      14 May 16 18:25 libanl.so.1 -> libanl-2.17.so
-rw-r--r--  1 root root  190752 May 16 18:25 libcidn-2.17.so
lrwxrwxrwx  1 root root      15 May 16 18:25 libcidn.so.1 -> libcidn-2.17.so
-rw-r--r--  1 root root   35048 May 16 18:25 libcrypt-2.17.so
lrwxrwxrwx  1 root root      16 May 16 18:25 libcrypt.so.1 -> libcrypt-2.17.so
-rw-r--r--  1 root root   14536 May 16 18:25 libdl-2.17.so
lrwxrwxrwx  1 root root      13 May 16 18:25 libdl.so.2 -> libdl-2.17.so
-rw-r--r--  1 root root 1038632 May 16 18:25 libm-2.17.so
lrwxrwxrwx  1 root root      12 Jun 14 00:52 libm.so -> libm-2.17.so
lrwxrwxrwx  1 root root      12 Jun 14 18:37 libm.so.6 -> libm-2.17.so
-rw-r--r--  1 root root   88976 May 16 18:25 libnsl-2.17.so
lrwxrwxrwx  1 root root      14 May 16 18:25 libnsl.so.1 -> libnsl-2.17.so
-rw-r--r--  1 root root   31520 May 16 18:25 libnss_compat-2.17.so
lrwxrwxrwx  1 root root      21 May 16 18:25 libnss_compat.so.2 ->
libnss_compat-2.17.so
-rw-r--r--  1 root root   22824 May 16 18:25 libnss_dns-2.17.so
lrwxrwxrwx  1 root root      18 May 16 18:25 libnss_dns.so.2 -> libnss_dns-2.17.so
-rw-r--r--  1 root root   52024 May 16 18:25 libnss_files-2.17.so
lrwxrwxrwx  1 root root      20 May 16 18:25 libnss_files.so.2 ->
libnss_files-2.17.so
-rw-r--r--  1 root root   22856 May 16 18:25 libnss_hesiod-2.17.so
lrwxrwxrwx  1 root root      21 May 16 18:25 libnss_hesiod.so.2 ->
libnss_hesiod-2.17.so
-rw-r--r--  1 root root   43464 May 16 18:25 libnss_nis-2.17.so
lrwxrwxrwx  1 root root      18 May 16 18:25 libnss_nis.so.2 -> libnss_nis-2.17.so
-rw-r--r--  1 root root   51608 May 16 18:25 libnss_nisplus-2.17.so
lrwxrwxrwx  1 root root      22 May 16 18:25 libnss_nisplus.so.2 ->
libnss_nisplus-2.17.so
-rwxr-xr-x  1 root root  763865 May 16 18:17 libpthread-2.17.so
lrwxrwxrwx  1 root root      18 Jun 14 18:37 libpthread.so.0 -> libpthread-2.17.so
-rw-r--r--  1 root root   84720 May 16 18:25 libresolv-2.17.so
lrwxrwxrwx  1 root root      17 May 16 18:25 libresolv.so.2 -> libresolv-2.17.so
-rw-r--r--  1 root root   31648 May 16 18:25 librt-2.17.so
lrwxrwxrwx  1 root root      13 Jun 14 18:37 librt.so.1 -> librt-2.17.so
-rw-r--r--  1 root root   10552 May 16 18:25 libutil-2.17.so
lrwxrwxrwx  1 root root      15 May 16 18:25 libutil.so.1 -> libutil-2.17.so

BUT, bumblebee-nvidia doesn't contains that files!

Why/what source of that files?

-- 
Regards,
Anton Fedorov
Call2ru service
E-Mail: datacompboy at call2ru.com
Jabber: datacompboy at call2ru.com
Skype: datacompboy
ICQ: 272-35-262
Mobile: +7-913-925-7974 [SMS 24h, Call 05:00-19:00 MSKT (GMT+3)]




More information about the pkg-nvidia-devel mailing list