Nvidia, dkms, update-alternatives и libGL.so.1
Доброго всем LOCAL_TIME!
После очередного обновления из testing через safe-upgrade приехал автоматом
dkms и что-то там принялся пересобирать, видимо модуль для карты nvidia, за
этим последовал запуск update-alternatives (это все, что успел заметить краем
глаза при обновлении). Возможно при этом сначала обновилось ядро, но я не
заметил было ли это. Все вроде прошло гладко и без ругани и я бы не узнал,
что что-то пошло не так, если бы после апдэйта не отказался запускаться
chromium-browser с руганью на неопределенные символы в libGL.so.1 Второй
сюрприз всплыл после выхода из сеанса KDE 4 - назад войти уже не вышло,
иксы просто падали и KDM предлагал снова войти.
После недолгого ковыряния в /usr/lib выяснилось что симлинки libGL.so
и libGL.so.1
ссылаются на разные версии либ (приведу весь вывод для полноты картины):
yoda:/etc/init.d# ls -l /usr/lib | grep libGL
lrwxrwxrwx 1 root root 22 Авг 30 11:47 libGLcore.so.1 ->
libGLcore.so.195.36.31
-rwxr-xr-x 1 root root 11615648 Май 19 2008 libGLcore.so.169.09
-rw-r--r-- 1 root root 23090400 Июн 2 11:26 libGLcore.so.195.36.31
lrwxrwxrwx 1 root root 15 Июл 29 15:49 libGLC.so.0 -> libGLC.so.0.0.7
-rw-r--r-- 1 root root 103088 Июл 29 00:49 libGLC.so.0.0.7
lrwxrwxrwx 1 root root 18 Июн 15 08:57 libGLEWmx.so.1.5 ->
libGLEWmx.so.1.5.4
-rw-r--r-- 1 root root 287496 Июн 12 11:10 libGLEWmx.so.1.5.4
lrwxrwxrwx 1 root root 16 Июн 14 18:52 libGLEW.so.1.5 ->
libGLEW.so.1.5.4
-rw-r--r-- 1 root root 322048 Июн 12 11:10 libGLEW.so.1.5.4
-rw-r--r-- 1 root root 653 Май 19 2008 libGL.la
lrwxrwxrwx 1 root root 26 Авг 30 12:29 libGL.so ->
/etc/alternatives/libGL.so
lrwxrwxrwx 1 root root 15 Сен 1 11:27 libGL.so.1 -> libGL.so.169.09
-rwxr-xr-x 1 root root 664804 Май 19 2008 libGL.so.169.09
-rw-r--r-- 1 root root 715526 Июл 15 19:36 libGLU.a
lrwxrwxrwx 1 root root 11 Июл 27 16:28 libGLU.so -> libGLU.so.1
lrwxrwxrwx 1 root root 20 Июл 27 16:28 libGLU.so.1 ->
libGLU.so.1.3.070701
-rw-r--r-- 1 root root 454800 Июл 15 19:36 libGLU.so.1.3.070701
yoda:/etc/init.d# cd /usr/lib
То есть libGL.so.1 -> libGL.so.169.09, а это, как мне кажется ошметки от старого
драйвера nvidia с версией 169.09. Ладно, не беда - правлю симлинк на
libGL.so.1 -> /etc/alternatives/libGL.so.1 и все встает на место.
Вроде бы можно и
успокоиться... Проходит несколько часов, запускаю из консоли инсталляцию
офиса в вайне и вижу:
yoda@yoda:/home/torrent/HDTV2/SOFT$ wine /cdrom/soft/office/office2003rusp3.exe
wine: created the configuration directory '/home/yoda/.wine'
Could not load Mozilla. HTML rendering will be disabled.
err:module:load_builtin_dll failed to load .so lib for builtin
L"glu32.dll": /usr/lib/libGL.so.1: undefined symbol: _nv000135gl
err:module:load_builtin_dll failed to load .so lib for builtin
L"opengl32.dll": /usr/lib/libGL.so.1: undefined symbol: _nv000135gl
wine: configuration in '/home/yoda/.wine' has been updated.
Снова иду в /usr/lib Ччччччорт!!! Какая сволочь это сделала? Симлинк libGL.so.1
снова указывает на libGL.so.169.09!!! Я в шоке.
Вопросы традиционные для России: "Кто виноват?" и "Что делать?" чтобы пресечь
эту вакханалию.
--
--
С наилучшими пожеланиями,
Олег Анисимов AKA Yoda
Reply to: