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