Debian Firefox libstd

Résolu/Fermé
mario - 10 juil. 2012 à 12:48
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 16 juil. 2012 à 22:01
Salut,

Je viens d'installer debian version 64 bits, et je n'arrive pas à lancer firefox (pas iceweasel)..

J'obtiens cette erreur.

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


Pourtant j'ai bien libstdc++6 et libstdc++6-4.4-dev qui sont installés.

En faisant une recherche sur la lib, j'ai bien libstdc en bibliothèque paratgée.

Sauriez ce qui peut provoquer ce problème ?
A voir également:

7 réponses

Bon, j'ai installé g++-multilib comme indiqué sur http://blog.gnu-designs.com/fix-for-incompatible-libstdc-error-message/

Maintenant j'ai un autre message d'erreur :-/

XPCOMGlueLoad error for file /home/splash/firefox/libxpcom.so:
libxul.so: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

xulrunner est bien installé, mais comme précédemment, j'ai l'impression qu'il ne trouve pas le chemin vers la lib, je comprends rien.
0
En fait tout l'os est instable en version 64bits, je m'en suis rendu compte après, trop de choses plantent, par exemple le démontage d'un dd externe a carrément fait freeze debian, obligé de faire un reboot sauvage...

Donc pour l'instant l'architecture est à éviter je crois, c'est ma 1ère tentative et je retenterai pas de sitôt.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié par mamiemando le 11/07/2012 à 10:43
Version courte :

L'architecture 64 bits correctement, d'ailleurs je l'utilise tous les jours sur 2 PCs différents. À mon avis c'est plutôt que tu as fait des installations autrement que via ton gestionnaire de paquets.
http://www.mistra.fr/tutoriel-linux-gestionnaire-de-paquets.html

aptitude update   
aptitude safe-upgrade   
aptitude install iceweasel iceweasel-l10n-fr


Version longue :

Normalement tu es sensé installer la quasi totalité de tes logiciels via le gestionnaire de paquets apt (typiquement via apt-get ou aptitude).
http://www.mistra.fr/tutoriel-linux-apt.html

Cela signifie que contrairement à windows, on ne télécharge jamais un logiciel à l'arrache sous linux si ce logiciel est disponible via apt.

Sous debian firefox s'appelle iceweasel. On peut retrouver ça en utilisant apt-cache :

apt-cache search firefox


Parmi la liste des paquets qui apparaissent, deux sont sensés retenir ton attention :

...   
iceweasel - navigateur web basé sur Firefox   
...   
iceweasel-l10n-fr - localisation française pour Iceweasel   
...


Ainsi pour installer firefox (en français) :

aptitude update   
aptitude safe-upgrade   
aptitude install iceweasel iceweasel-l10n-fr


Pour ton erreur de librairie voici comment tu aurais pu la déboguer
1) Vérifier que la librairie utilisée par firefox est bien absente :

ls -l libstdc++.so*


2) Si aucun ".so" n'a de nom qui correspond vaguement en terme de version, ça sent le paquet manquant. Dans ce cas le mieux est de réinstaller le paquet qui fournit le .so. Pour le trouver tu peux utiliser apt-file :

aptitude install apt-file   
apt-file update   
apt-file search libstdc++.so


Tu trouves alors :

...   
libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6   
...   


3) Ainsi dans cet exemple il faudrait lancer :

aptitude install libstdc++6


Du coup le paquet à installer est libstdc++6. Note que ce paquet serait normalement automatiquement installé en cascade si tu installais iceweasel.

4) Il est probable qu'en relançant ensuite firefox, un autre ".so" soit manquant (il aurait alors fallu adopter le même raisonnement).
- Plus généralement on peut raisonnablement se dire qu'un utilisateur normal ne sait pas que firefox est écrit en c++ avec la librairie gtk etc... Bref il n'a aucun moyen de deviner de quoi dépend firefox pour s'installer avec succès.
- De plus, même si les messages d'erreur "can't open share library" permettent de s'en sortir, ce serait beaucoup trop fastidueux de procéder ainsi. C'est pour éviter toutes ces galères que le gestionnaire de paquets existe.
=> C'est pour ça qu'on installe jamais (dans la mesure du possible) un logiciel autrement que via apt.

Je suppose qu'ici tu as récupéré une archive tgz de firefox au lieu d'être passé par apt, ce qui expliquerait pourquoi les librairies utilisées par firefox sont absentes.

Bonne chance



Bonne chance
0
Merci de cette réponse, je suis de toute façon repassé en version 32bits car comme j'ai dit debian était vraiment instable sur mon ordi portable.

Je sais bien que iceweasel est équivalent à firefox, sauf que iceweasel est vraiment pas au point question dernière versions, pour ça que je préfère firefox.

En 32bits, je n'ai jamais eu de problèmes concernant le fonctionnement de firefox, d'ailleurs, il fonctionne très bien là, y'aurait-il des différences entre 32bits et 64bits, étrange...

Sinon, j'avais bien vérifié que les libs que firefox ne trouvait pas étaient bien installées, et elles l'étaient bien, pour moi c'était juste un problème de path que je ne savait résoudre.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
16 juil. 2012 à 10:12
Je sais bien que iceweasel est équivalent à firefox, sauf que iceweasel est vraiment pas au point question dernière versions, pour ça que je préfère firefox.

???
Mais iceweasel c'est firefox. Ils ont juste changé l'icône et le nom :-)

En 32bits, je n'ai jamais eu de problèmes concernant le fonctionnement de firefox, d'ailleurs, il fonctionne très bien là, y'aurait-il des différences entre 32bits et 64bits, étrange...

Ah oui bien sûr ce n'est pas le même binaire, les mêmes librairies mises en jeu etc... Mais ceci dit iceweasel 64 bits marche très bien chez moi, les soucis que tu as rencontré me surprennent vraiment...

Mais bon si le résultat te convient à la limite, tant mieux :-)

Sinon, j'avais bien vérifié que les libs que firefox ne trouvait pas étaient bien installées, et elles l'étaient bien, pour moi c'était juste un problème de path que je ne savait résoudre.

Il faut voir dans quel répertoire elles étaient installées.
- Normalement si tes ".so" sont installés via des paquets, ils seront dans /lib ou /usr/lib et trouvés automatiquement.
- Si tu as installé la librairie à la main dans /usr/local/lib elle sera aussi trouvé (mais normalement tu n'es pas sensé installer de librairie ou quoi que ce soit à la main, cf message précédent).
- Dans les autres cas (librairie installée à la main en dehors de /usr/local/lib) il faudrait compléter la variable d'environnement LD_LIBRARY_PATH. Par exemple si la librairie est dans /home/toto/lib (il va sans dire que c'est la moins propre des 3 approches) :

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/toto/lib" iceweasel


Est-ce que ton problème est résolu ou as-tu des questions complémentaires ?

Bonne chance
0
Oui, j'installe toujours les libs via synaptic, sauf rares cas exceptionnels ou cela n'est pas fourni dans les dépôts et que des .deb n'existent pas.

Oui, ce sujet est résolu, merci bien du temps que tu as pris à me répondre :-)
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
16 juil. 2012 à 22:01
De rien bonne continuation !
0