LINUX.ORG.RU

Не запускается firefox

 ,


0

1

Использую систему Arch Linux. После установки пакета python-conda и последующей загрузки одной библиотеки (keras) у меня отвалился firefox. При запуске из консоли он выдает это:

[dvec@xxx ~]$ firefox 
XPCOMGlueLoad error for file /usr/lib/firefox/libxul.so:
/usr/lib/firefox/libxul.so: undefined symbol: sqlite3_trace_v2
Couldn't load XPCOM.
[dvec@xxx ~]$ pacman -Qi firefox
Название             : firefox
Версия               : 55.0.3-1
Описание             : Standalone web browser from mozilla.org
Архитектура          : x86_64
URL                  : https://www.mozilla.org/firefox/
Лицензии             : MPL  GPL  LGPL
Группы               : Нет
Предоставляет        : Нет
Зависит от           : gtk3  gtk2  mozilla-common  libxt  startup-notification
                       mime-types  dbus-glib  ffmpeg  nss  hunspell  sqlite
                       ttf-font  libpulse  icu
Доп. зависимости     : networkmanager: Location detection via available WiFi
                       networks [установлено]
                       libnotify: Notification integration [установлено]
                       pulseaudio: Audio support [установлено]
                       speech-dispatcher: Text-to-Speech [установлено]
Требуется            : Нет
Опционально для      : Нет
Конфликтует с        : Нет
Заменяет             : Нет
Установленный размер : 140,01 MiB
Сборщик              : Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Дата сборки          : Сб 26 авг 2017 09:56:16
Дата установки       : Вт 05 сен 2017 17:20:17
Причина установки    : Явно установлен
Установочный скрипт  : No
Проверен             : Подпись
Пакет icu установлен. Как это можно починить?


По новой поставь браузер, удали сначала и его и пакет icu, либа повреждена просто.

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

Арчепроблемы, лол. Значит ручками качаешь этот пакет, вытаскиваешь из него эту либу, сверяешь md5 сумму пакета который скачал и эту либу руками кидаешь в /usr/lib/firefox/. С удалением предыдущей. Если ругаться начнет лиса, то ей надо будет сделать символьную ссылку, ну да ладно, пока это сделай.

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

Удалил icu с firefox-ом, развалилось пол системы, установил все обратно из pacstrap-a. Все равно не работает

dvec
() автор топика
Ответ на: комментарий от karton1

Переустановился пакет. Проблему это не решило

dvec
() автор топика

/usr/lib/firefox/libxul.so: undefined symbol: sqlite3_trace_v2

Пакет icu установлен.

Причём тут вообще ICU? Интерпретатор же пишет, что не смог символ sqlite3_trace_v2 найти. Возможно, у тебя подтянулась какая-то особая или старая сборка libsqlite3, в которой этого символа ещё не было.

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

Да, conda устанавливала что-то, связанное с sql. Переустановил пакет sqlite, и все заработало. Спасибо за помощь!

dvec
() автор топика
Ответ на: комментарий от dvec

Задним умом, мы все крепки.
По-передни, требовалось бы сделать

nm libxul.so | grep sql*
для проверки факта динамической линковки.

Но факта динамической линковки с sqlite3_trace_v2 - не выявится, потому что:
По-задне, после линковки библиотек - хорошая традиция, чистить libxul.so от отладочной символьной информации.

# System libraries
...
ac_add_options --enable-libjpeg-turbo   # --with-system-jpeg
ac_add_options --enable-system-ffi
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-pixman
ac_add_options --enable-system-sqlite
ac_add_options --enable-libproxy=no

# Tests and debug
mk_add_options MOZ_DEBUG=0
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-ipdl-tests
ac_add_options --enable-debug-js-modules=no
ac_add_options --disable-debug-symbols
# ac_add_options --disable-gps-debug
ac_add_options --disable-profiling

# Package
mk_add_options STRIP_FLAGS="--strip-debug"
ac_add_options --enable-strip=yes
ac_add_options --enable-install-strip=yes
ac_add_options --enable-signmar=no
ac_add_options --enable-verify-mar=no
blitz
()
Ответ на: комментарий от blitz

Интерпретатор это такая штука, которая загружает в память бинарник /bin/ls, все библиотеки, от которых этот бинарник зависит и их зависимости, размещает их, как надо, настраивает релокации и прочую лабуду, когда ты в консоли запускаешь ls.

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

Your message falls way off true.
LD_PRELOAD /lib- в этом FF не нуждается в принципе.

Загрузкой библиотек и релокацией их - занят *glue.so в FF.
Сделано это так, чтобы сборка FF была и оставалась OS independent.

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