systeme cassé au niveau de zlib !

systeme cassé au niveau de zlib ! - Installation - Linux et OS Alternatifs

Marsh Posté le 04-11-2007 à 15:06:11    

J'ai mon systeme qui est apparemment cassé : je n'arrive pas a compiler des programmes simple (ou gros comme the gimp) des lors que ceux-ci ont besoin d'une librarie libxml2 ou de zlib (je crois que c'est dans zlib que le symbole gzopen est déclaré, mais pas certaine a 100%). Je suis sous ubuntu 7.10 gutsy

 

un exemple de l'erreur obtenue lors de la compilation d'un programme wxwidgets tres simple (une fenetre vide) (lors du link, c'est la l'erreur) :

 
Code :
  1. g++ -o simple `wx-config --libs` ./simple.o main.o
  2. /usr/bin/../lib/libxml2.so.2: undefined reference to `gzopen64'
  3. collect2: ld a retourné 1 code d'état d'exécution
  4. make: *** [all] Erreur 1
 

Ou lors du link d'une partie de the gimp :

 
Code :
  1. export LANG=C && make > make2.log
  2. /usr/bin/xsltproc: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64
  3. /usr/bin/xsltproc: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64
  4. /usr/bin/xsltproc: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64
  5. /usr/bin/xsltproc: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64
 

embetant hein ?? J'ai reinstallé zlib1g et zlib1g-dev, libxml2, xlstproc, relancé ldconfig.... je sais pas trop quoi faire

 

J'ai quand meme trouvé ca https://bugs.launchpad.net/ubuntu/+ [...] bug/151045

 

et donc :

 
Code :
  1. strings /usr/lib/libxml2.so.2.6.30 |grep gzopen64
  2. gzopen64
  3. objdump -T /usr/lib/libz.so.1 | grep gzopen64
  4. 00004040 g    DF .text  0000001b  Base        gzopen64
  5. ls -l /usr/lib/libxml2*
  6. -rw-r--r-- 1 root root 1441704 2007-10-05 04:08 /usr/lib/libxml2.a
  7. -rw-r--r-- 1 root root     804 2007-10-05 04:08 /usr/lib/libxml2.la
  8. lrwxrwxrwx 1 root root      17 2007-11-04 09:01 /usr/lib/libxml2.so -> libxml2.so.2.6.30
  9. lrwxrwxrwx 1 root root      17 2007-11-04 09:01 /usr/lib/libxml2.so.2 -> libxml2.so.2.6.30
  10. -rw-r--r-- 1 root root 1166856 2007-10-05 04:08 /usr/lib/libxml2.so.2.6.30
  11. Un copié-collé partiel (j'ai pas mal de lib commencant par libz)
  12. ls -l /usr/lib/libz*
  13. -rw-r--r-- 1 root root 90566 2007-07-29 22:12 /usr/lib/libz.a
  14. lrwxrwxrwx 1 root root    15 2007-11-04 08:49 /usr/lib/libz.so -> libz.so.1.2.3.3
  15. lrwxrwxrwx 1 root root    15 2007-11-04 08:47 /usr/lib/libz.so.1 -> libz.so.1.2.3.3
  16. -rw-r--r-- 1 root root 80504 2007-07-29 22:12 /usr/lib/libz.so.1.2.3.3
 

Bref, 2 jours que je nage... j'en appel aux spécialistes !!

Message cité 1 fois
Message édité par guepe le 04-11-2007 à 15:06:47

---------------
Un blog qu'il est bien
Reply

Marsh Posté le 04-11-2007 à 15:06:11   

Reply

Marsh Posté le 04-11-2007 à 15:10:35    

guepe a écrit :


Bref, 2 jours que je nage... j'en appel aux spécialistes !!


Fais donc un rapport de bug aux packagers ;)


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 04-11-2007 à 15:13:17    

e_esprit a écrit :


Fais donc un rapport de bug aux packagers ;)


En meme temps est-ce vraiment un bug ? Si mon systeme est cassé, peut etre qu'il suffirait de réinstaller une lib qq part ? Enfin peut etre que tu as raison, vu que synaptic ne détecte aucun paquet défectueux !


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 04-11-2007 à 15:16:38    

Les packages que tu essaies de compiler demandent quelle version de libxml ?


---------------
You get so used to things the way they are. And I've always been alone. I guess that makes me lonely.
Reply

Marsh Posté le 04-11-2007 à 15:16:56    

Oups j'avais pas tout bien lu ton premier post :D
 
T'as pas de zlib installée ailleurs ?
find / -name libz*.so


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 04-11-2007 à 15:24:38    

e_esprit a écrit :

Oups j'avais pas tout bien lu ton premier post :D
 
T'as pas de zlib installée ailleurs ?
find / -name libz*.so


Recherche en cours (bonne idée) : pour ceux que ca intéresse, j'ai posté ici


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 04-11-2007 à 15:28:32    

je suis sur le chan gimp avec des bons  :D et voici le résultat d'une commande donnée :

 
Code :
  1. ldd /usr/lib/libxml2.so.2
  2.         linux-gate.so.1 =>  (0xffffe000)
  3.         libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7ec5000)
  4.         libz.so.1 => /opt/matlab/bin/glnx86/libz.so.1 (0xb7eb4000)
  5.         libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e8f000)
  6.         libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d45000)
  7.         /lib/ld-linux.so.2 (0x80000000)
 

J'ai récemment installé matlab, et ce con a linké libz sur ses lib a lui !! Il ne doit pas implémenté gzopen cependant, ce qui cause le foutoire !
N'empeche, comment on relink?

 

[edit]@e_esprit : non pas de libz installé ailleurs... mais bon on a trouvé le probleme, reste a trouver une solution au probleme !!!

 

[edit] Une solution fonctionnelle est trouvée.. je la posterai plus tard, dans 4-5h !


Message édité par guepe le 04-11-2007 à 15:39:23

---------------
Un blog qu'il est bien
Reply

Marsh Posté le 04-11-2007 à 22:29:14    

Chose promise chose due, voici une demi solution (ca marche pas tout a fait)
 
J'avais dans mon path le chemin vers les libs de matlab (causant ma pere  :lol: ) donc je les ai enlev"es, maintenant tout fonctionne, ca compile bien toussa...
Je lance mon application linkée avec les libs matlab ET wxwidgets (qui compile bien) avec la commande :
 

Code :
  1. LD_LIBRARY_PATH=/opt/matlab/bin/glnx86/ ./my_app


Ca se lance... mais des que je l'utilise ca crash :  
 

Code :
  1. ./my_app: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64


Ce qui est logique, vu que les libs matlab sont connues (et doivent l'etre)... Arghhhhh !! Une solution pour faire cohabiter les deux autrement que de splitter mon application en deux (solution horrible à mon gout) ?
 
Merci !


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 05-11-2007 à 18:36:12    

guepe a écrit :

Chose promise chose due, voici une demi solution (ca marche pas tout a fait)
 
J'avais dans mon path le chemin vers les libs de matlab (causant ma pere  :lol: ) donc je les ai enlev"es, maintenant tout fonctionne, ca compile bien toussa...
Je lance mon application linkée avec les libs matlab ET wxwidgets (qui compile bien) avec la commande :
 

Code :
  1. LD_LIBRARY_PATH=/opt/matlab/bin/glnx86/ ./my_app


Ca se lance... mais des que je l'utilise ca crash :  
 

Code :
  1. ./my_app: symbol lookup error: /usr/lib/libxml2.so.2: undefined symbol: gzopen64


Ce qui est logique, vu que les libs matlab sont connues (et doivent l'etre)... Arghhhhh !! Une solution pour faire cohabiter les deux autrement que de splitter mon application en deux (solution horrible à mon gout) ?
 
Merci !


 
Mettre matlab avec toutes ses lib à la con dans un répertoire isolé, genre dans /opt, et le lancer avec un script du genre

LD_LIBRARY_PATH=/opt/matlab/bin/glnx86 /opt/matlab/bin/le_binaire_de_matlab


 
 [:spamafote]


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 05-11-2007 à 18:42:20    

ca ca marche pas : il trouve biens les libs matlab... mais comme dans ce repertoire il y a aussi libz... et bien c'est celle-ci qu'il utilise et ca plante !


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 05-11-2007 à 18:42:20   

Reply

Marsh Posté le 05-11-2007 à 18:52:33    

Ben si ca marche. La seule solution propre c'est bien d'avoir le programme qui fait chier dans /opt, totalement autonome (/opt est fait pour ca), et d'avoir des lib propres dans /usr/lib, pour tous les autres programmes "propres"  :o


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 05-11-2007 à 19:00:35    

Ben c'est ce que je suis en train de faire.. mais c'est la memerde pour passer les parametres quoi ! (y'en a des tonnes et je veut que ce soit portable et rapide)


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 05-11-2007 à 19:04:51    

use octave luke :o
 
(ou si tu veux vraiment isoler totalement matlab, tu peux essayer de le foutre dans un chroot)


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 05-11-2007 à 19:06:12    

ET le matlab, si tu lui dit d'utiliser la zlib de ton système (celle avec gzopen64), il rale ou pas ? :o


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 05-11-2007 à 19:08:23    

vu le nom du symbole, ça sent la zlib en 64 bits et je parierais presque que matlab est en 32bits.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 05-11-2007 à 19:16:41    

Non non, sur mon install 32 bits j'ai bien ce symbole dans libz.so :)


Message édité par e_esprit le 05-11-2007 à 19:16:54

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 05-11-2007 à 21:38:56    

Tout est en 32 bits... c'est déjà assez compliqué !Effectivement j'ai pensé lié la libz de matlab a celle de mon systeme... mais vous savez faire cela de facon réversible ? J'ai ca dans matlab :
 

Code :
  1. libz.so
  2. libz.so.1
  3. libz.so.1.1.4


 
les deux premiers sont des liens vers la derniere... je voudrais éviter de casser matlab et me taper une réinstall... merci  :jap:


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 06-11-2007 à 09:23:29    

guepe a écrit :

Tout est en 32 bits... c'est déjà assez compliqué !Effectivement j'ai pensé lié la libz de matlab a celle de mon systeme... mais vous savez faire cela de facon réversible ? J'ai ca dans matlab :
 

Code :
  1. libz.so
  2. libz.so.1
  3. libz.so.1.1.4


 
les deux premiers sont des liens vers la derniere... je voudrais éviter de casser matlab et me taper une réinstall... merci  :jap:


Ben tu crées un dossier Old, tu bouges tes libs dedans, et pis tu lances matlab et tu vois si ca rale.
Il devrait trouver tout seul comme un grand la version "globale".
En cas de soucis tu remets les libz.* dans le bon répertoire.


Message édité par e_esprit le 06-11-2007 à 09:23:42

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed