LINUX.ORG.RU

error: symbol lookup error: undefined symbol: g_module_check_init (fatal)

 , ,


0

1

Всем привет! У меня Debian 5.0 «Lenny». Да, я знаю что это странно для 2016 года. Да, часто спрашивают. Почему? Потому что старый линукс рулит! И потому что в него можно устанавливать свежий софт (а в Windows XP пара программ уже не работает).

Подключены репозитории:

lenny-backports
steam
deb-multimedia

Не из пакетов установлен только драйвер NVIDIA последней версии.

Решил отредактировать видео. Из репо lenny main установил pitivi. Он потащил с собой немного гнома:

Setting up gnome-mime-data (2.18.0-1) ...
Setting up gstreamer0.10-gnonlin (0.10.9-1) ...
Setting up gstreamer0.10-x (0.10.19-2) ...
Setting up libbonobo2-common (2.22.0-1) ...
Setting up libbonobo2-0 (2.22.0-1) ...
Setting up libbonoboui2-common (2.22.0-1) ...
Setting up libgnomevfs2-common (1:2.22.0-5) ...
Setting up libgnomevfs2-0 (1:2.22.0-5) ...
Setting up libgnome2-common (2.20.1.1-1) ...
Setting up libgnome2-0 (2.20.1.1-1) ...
Setting up libbonoboui2-0 (2.22.0-1) ...
Setting up libgnome-keyring0 (2.22.3-2) ...
Setting up libgnomeui-common (2.20.1.1-2) ...
Setting up libgnomeui-0 (2.20.1.1-2) ...
Setting up python-pyorbit (2.14.3-2) ...
Setting up python-gnome2 (2.22.0-1) ...
Setting up python-libxml2 (2.6.32.dfsg-5+lenny5) ...
Setting up python-gst0.10 (0.10.12-1.1) ...
Setting up pitivi (0.10.3-1.1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for python-support ...

Не запускается. LD_DEBUG=libs pitivi выдаёт такой лог, из которого выделю:

21159:	/usr/lib/gstreamer-0.10/libgstautodetect.so: error: symbol lookup error: undefined symbol: g_module_check_init (fatal)
21159:	/usr/lib/gstreamer-0.10/libgstautodetect.so: error: symbol lookup error: undefined symbol: g_module_unload (fatal)

У меня установлен libglib2 2.24 из репозитория lenny-backports (дефолтная 2.16 недостаточна для Firefox и Tor Browser) Что это за ошибка, и как её решить?

Надо понимать, libgstautodetect.so слишком стар для Glib 2.24, откуда уже удалены g_module_{check_init,g_module_unload}.

Либо откатывать Glib на 2.16, либо обновлять GStreamer.

backbone ★★★★★
()
Последнее исправление: backbone (всего исправлений: 1)
Ответ на: комментарий от backbone

На самом деле, там ругаются на каждую библиотеку плагина GStreamer.

Выполнил sudo apt-get install libglib2.0-0=2.16.6-3 libgtk2.0-0=2.12.12-1~lenny2. Firefox предсказуемо отвалился, а pitivi не заработал! Ошибка та же. Вернул 2.24 и 2.18. Чем может быть вызвана эта ошибка?

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Нужно, похоже, что-то промежуточное ставить, вроде Glib 2.20.

В документации по Glib 2.16 тоже не вижу этих символов. В 2.20 вижу. В 2.24 снова их нет. Видимо, они быстро стали deprecated.

backbone ★★★★★
()
Ответ на: комментарий от backbone

Наверное, у меня особый, уличный deb-multimedia с особым же GStreamer. Нужно искать другую копию. Спасибо! Ставлю «решено».

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от backbone

откуда уже удалены g_module_{check_init,g_module_unload}.

там все хитрее. если такие функции присутствуют в _модуле_, они выполняются при загрузки и выгрузке этого модуля. типа конструктор/деструктор

ananas ★★★★★
()
Ответ на: комментарий от ananas

Я по глупости посмотрел здесь и не стал вдаваться в подробности.

По сути, это же как «__attribute__ ((constructor))» в библиотеке, только загрузчик другой.

И эта ошибка не влияет на запуск pitivi, причина в чём-то другом.

backbone ★★★★★
()
Ответ на: комментарий от backbone

«ошибка» вылезла только из-за LD_DEBUG. тут strace/gdb/grep_dmesg_with_eyes нужен

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.