LINUX.ORG.RU

Firefox не видит библиотеку, симлинк на которую есть в каталоге с ним. WTF?

 ,


0

1

Свежий (только что установленый практически) Debian, xfce. Скачал Firefox, распаковал, запускаю, а он мне вот такое. Раньше так делал, на дебиане, который ставил вместе с гномом - проблем не было.

$ ls
application.ini             libfreebl3.so        libxpcom.so
blocklist.xml               libmozalloc.so       libxul.so
chrome                      libmozsqlite3.so     mozilla-xremote-client
chrome.manifest             libnspr4.so          omni.ja
components                  libnss3.so           platform.ini
crashreporter               libnssckbi.so        plugin-container
crashreporter.ini           libnssdbm3.chk       precomplete
crashreporter-override.ini  libnssdbm3.so        removed-files
defaults                    libnssutil3.so       run-mozilla.sh
dependentlibs.list          libplc4.so           searchplugins
dictionaries                libplds4.so          Throbber-small.gif
distribution                libsmime3.so         updater
extensions                  libsoftokn3.chk      updater.ini
firefox                     libsoftokn3.so       update-settings.ini
firefox-bin                 libssl3.so           webapprt
icons                       libstdc++.so.6       webapprt-stub
libfreebl3.chk              libstdc++.so.6.orig

$ ./firefox
./firefox: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Как так-то? о_О

★★★★★
Ответ на: комментарий от v9lij

Вот из-под рута:

$ su
Пароль: 
# ./firefox
./firefox: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
pihter ★★★★★
() автор топика
Ответ на: комментарий от amorpher

Симлинк есть, сама библиотека тоже на месте

root@deb-maxd:/usr/lib# ls | grep libstdc++.so.6
libstdc++.so.6
libstdc++.so.6.0.13
pihter ★★★★★
() автор топика
Ответ на: комментарий от aol

LD_LIBRARY_PATH=$PWD ./firefox

что это и как этим воспользоваться? для нуба.

понятно, что это мы прописываем каталог для поиска библиотек, в тот, в котором лежит firefox, так? куда писать? команда? где почитать? не шарю вот этот момент. спасибо

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

Выделяешь мышью и в xfce4-terminal вставляешь.
Энтер не забудь клацнуть.

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

прям в таком виде набрать в консоли.
поиск либ идёт в соответствии с /etc/ld.so.conf.d/, а так же по путям, указанным в переменной из моего примера.

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

ссылку-то хоть правильно сделали ?

Там, вроде, была сразу из архива своя. После того так не заработала, я ее превратил в .orig и свою создал.

# ls -ls libstdc++.so.6
0 lrwxrwxrwx 1 max max 23 Дек 21 10:23 libstdc++.so.6 -> /usr/lib/libstdc++.so.6
# file libstdc++.so.6
libstdc++.so.6: symbolic link to `/usr/lib/libstdc++.so.6'
pihter ★★★★★
() автор топика
Ответ на: комментарий от pihter

Firefox не видит библиотеку, симлинк на которую есть в каталоге с ним.

и

libstdc++.so.6: symbolic link to `/usr/lib/libstdc++.so.6'

по-моему, кто-то из них врёт!

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

Debian какой?

Стабильный, текущий. squeeze он, 6.0

Смотри в /usr/lib/i386-linux-gnu

Чего там смотреть? Нету там такго каталога

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

Какая система, 32 битная или 64 битная, какой firefox ?

Система - 64. Firefox - не помню. Вроде он там в tar.gz был бинарный сразу и архитектура не уточнялась, возможно путаю.

Но, ЕМНИП, на этой же машине, этот же firefox работал, но под Дебианом, который я ставил вместе с окружением.

# file ./firefox
./firefox: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
# uname -r
2.6.32-5-amd64
pihter ★★★★★
() автор топика
Ответ на: комментарий от aol
$ LD_LIBRARY_PATH=$PWD ./firefox
./firefox: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

Надо полагать, библиотеку нашел, да разрядность не устраивает?

а так же по путям, указанным в переменной из моего примера.

После выполенения команды действие сохраняется или утрачивается? Скриптик для запуска писать? Как все это называется чтоб хоть погуглить?

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

Симлинк переделал:

# rm libstdc++.so.6
# ln -s /usr/lib64/libstdc++.so.6 ./libstdc++.so.6
# file libstdc++.so.6
libstdc++.so.6: symbolic link to `/usr/lib64/libstdc++.so.6'

Как-то помогала такая мера, при запуске бинарика на amd64.

Но тут не помогла:

LD_LIBRARY_PATH=$PWD ./firefox
./firefox: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

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

это всё часть команды. так что, на выбор:
1) пиши обёртку
2) в профиль себе добавь export LD_LIBRARY_PATH=/path/to/firefox/dir
3) добавь файлик с /path/to/firefox/dir в /etc/ld.so.conf.d/

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

Удалите вашу символьную ссылку и установите пакет lib32stdc++6

aptitude install lib32stdc++6
Если этого будет не достаточно, то сделайте символьную ссылку на /usr/lib32/libstdc++.so.6

Кроме того лучше ставит 64 битный Firefox в Linux, т.к. совсем недавно была новость, о том, что Mozilla прекращает проведение автоматических тестов 32 битных версий (сборок) Firefox для Linux, тестируя только 64 битные версии, отсюда следует, что в 32 битных версяих могут быть ошибки и проблемы, специфичные для 32 битной платформы, так что советую вам скачать 64 битную версию Firefox.

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

Сходил на http://www.mozilla.org/firefox. Там такая большая кнопка для нубов, навроде меня. Download называется. Я нажал. Вот результат:

max@deb-maxd:~/Загрузки$ ls
firefox-18.0.tar.bz2
max@deb-maxd:~/Загрузки$ tar -xf firefox-18.0.tar.bz2 
max@deb-maxd:~/Загрузки$ ls
firefox  firefox-18.0.tar.bz2
max@deb-maxd:~/Загрузки$ cd firefox/
max@deb-maxd:~/Загрузки/firefox$ ls
application.ini             libfreebl3.so     libxul.so
blocklist.xml               libmozalloc.so    modules
chrome                      libmozsqlite3.so  mozilla-xremote-client
chrome.manifest             libnspr4.so       omni.ja
components                  libnss3.so        platform.ini
crashreporter               libnssckbi.so     plugin-container
crashreporter.ini           libnssdbm3.chk    precomplete
crashreporter-override.ini  libnssdbm3.so     removed-files
defaults                    libnssutil3.so    run-mozilla.sh
dependentlibs.list          libplc4.so        searchplugins
dictionaries                libplds4.so       Throbber-small.gif
extensions                  libsmime3.so      updater
firefox                     libsoftokn3.chk   updater.ini
firefox-bin                 libsoftokn3.so    update-settings.ini
icons                       libssl3.so        webapprt
libfreebl3.chk              libxpcom.so       webapprt-stub
max@deb-maxd:~/Загрузки/firefox$ ./firefox
./firefox: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

ну, правда, в этот раз ее действительно там нет

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

это всё часть команды. так что, на выбор

спасибо

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

Уважаемый вы читать умеете, что вам пишут, заходите на ftp и скачивайте 64 битную версию firefox, ссылка указана в этом сообщении: Firefox не видит библиотеку, симлинк на которую есть в каталоге с ним. WTF? (комментарий)

Симлинк переделал:

# rm libstdc++.so.6
# ln -s /usr/lib64/libstdc++.so.6 ./libstdc++.so.6
# file libstdc++.so.6
libstdc++.so.6: symbolic link to `/usr/lib64/libstdc++.so.6'
...
/firefox: ELF 32-bit LSB executable
Но тут не помогла:
LD_LIBRARY_PATH=$PWD ./firefox
./firefox: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

Зачем вы делаете ссылку на 64 битную библиотеку, если у вас 32 битный firefox ?

Перечитайте это сообщение Firefox не видит библиотеку, симлинк на которую есть в каталоге с ним. WTF? (комментарий) , в нём написано, что нужно сделать, а лучше просто скачайте 64 битный firefox с ftp сервера.

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

Удалил симлинк, поставил указанный пакет.

$ LD_LIBRARY_PATH=$PWD ./firefox
XPCOMGlueLoad error for file /home/max/.mysoft/firefox/libxpcom.so:
libXrender.so.1: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

Походу, совет качать 64-битный firefox - очень православный совет :)

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

А тут нужно ставить пакет ia32-libs с другими 32 битными библиотеками, в котором есть libXrender.so.1 :

aptitude install ia32-libs

Можете всё же «добить» проблему, но всё же лучше скачать 64 битный firefox, как минимум из-за указанных особенностей Mozilla.

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

Вам же нужен 64битный firefox!

Спасибо, пишу уже из-под него!

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

Уважаемый вы читать умеете, что вам пишут, заходите на ftp и скачивайте 64 битную версию firefox

Не ругайтесь, я сообщения по порядку читаю :) Спасибо за советы. Библиотеки так линкую потому что уже один раз помогало, я тогда бинарик запускал от Unreal Tournament и тоже на дебиане amd64

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

Можете всё же «добить» проблему, но всё же лучше скачать 64 битный firefox

Я тоже так подумал. Спасибо еще раз за помощь.

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