Chemin de recherche de librairie partagee sans etre root

Chemin de recherche de librairie partagee sans etre root - Logiciels - Linux et OS Alternatifs

Marsh Posté le 13-01-2009 à 17:52:59    

BOnjour !
Je souhaite utiliser un logiciel qui a besoin d'une librairie (shared library) : comme celle-ci n'est pas installe, je l'ai compilee et installee dans mon compte.
Ensuite, je voudrais executer le premier logiciel : bien sur celui-ci me dit qu'il ne peut trouver la librairie, vu qu'il la cherche sans doute dans /etc/lib ou un truc du genre.
J'ai essaye :
 
export LD_RUN_PATH="/home/etienne/zlib-install/lib":$LD_RUN_PATH
export LD_LIBRARY_PATH="/home/etienne/zlib-install/lib":$LD_LIBRARY_PATH
 
Et un lien symbolique depuis le repertoire du logiciel qui pointe vers la librairie que j'ai compilee.
 
Rien ne fonctionne, et ca me surprend. Le systeme tourne sur une Debian 4.0 Etch. Des idees ?


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

Marsh Posté le 13-01-2009 à 17:52:59   

Reply

Marsh Posté le 13-01-2009 à 19:59:00    

t'as pas la libz sur debian ? ça me surprend.


---------------
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 13-01-2009 à 20:55:19    

Mjules a écrit :

t'as pas la libz sur debian ? ça me surprend.


Moi aussi...
J'ai quand meme demande a l'admin si il pouvait l'installer, mais c'est etrange...
Je ne vois pas trop comment verifier si la libz est installee : ah si, un dpkg -l zlib1g
 

Code :
  1. etienne@blackmesa:~$ dpkg -l zlib1g
  2. Desired=Unknown/Install/Remove/Purge/Hold
  3. | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
  4. |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
  5. ||/ Name           Version        Description
  6. +++-==============-==============-============================================
  7. ii  zlib1g         1.2.3-13       compression library - runtime


 
Apparemment c'est installe ??? Comment ca se fait que mon appli ne le trouve pas ??


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

Marsh Posté le 13-01-2009 à 20:57:20    

elle te dit quoi ton appli ? un ldd sur le binaire trouve des choses (genre un symbole non défini) ?


Message édité par Mjules le 13-01-2009 à 20:57:29

---------------
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 13-01-2009 à 20:59:29    

Code :
  1. etienne@blackmesa:~/BOINC$ ./boinccmd
  2. ./boinccmd: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
  3. etienne@blackmesa:~/BOINC$ ldd boinccmd
  4. ./boinccmd: /lib32/libc.so.6: version `GLIBC_2.4' not found (required by ./boinccmd)
  5.         linux-gate.so.1 =>  (0xffffe000)
  6.         libz.so.1 => not found
  7.         libdl.so.2 => /lib32/libdl.so.2 (0xf7f25000)
  8.         libpthread.so.0 => /lib32/libpthread.so.0 (0xf7f13000)
  9.         libm.so.6 => /lib32/libm.so.6 (0xf7eef000)
  10.         libstdc++.so.6 => not found
  11.         libc.so.6 => /lib32/libc.so.6 (0xf7dc4000)
  12.         /lib/ld-linux.so.2 (0xf7f31000)


 
sympa ldd je connaissais pas !


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

Marsh Posté le 13-01-2009 à 21:06:28    

tu es sur une distro en 64bits ?
 
Sinon, il te manque pas que la zlib manifestement, ta version de la libc me semble trop ancienne, et il manque la lib C++ de base.


---------------
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 13-01-2009 à 21:11:17    

Mjules a écrit :

tu es sur une distro en 64bits ?
 
Sinon, il te manque pas que la zlib manifestement, ta version de la libc me semble trop ancienne, et il manque la lib C++ de base.


La zlib est la (un locate me l'a confirme)... bon donc c'est un peu mort ?
Oui je suis sur x86_64 : j'aimerai bien me servir de cette machine, elle dors et ne sers a rien, et c'est un joli quadcore qui pourrait calculer tout plein de trucs pour moi  :wahoo:  
La lib c++ de base ??? J'ai quand meme les outils de compilation, c'est etrange ! (make, configure...). J'ai compile la zlib sans soucis. BOn c'est du C aussi.
 
Et chose etrange :  

Code :
  1. etienne@blackmesa:~/BOINC$ locate libstdc++.so.6
  2. /usr/lib/libstdc++.so.6
  3. /usr/lib/libstdc++.so.6.0.8


SI c'est ca la lib c++, elle est installee !
 
et les droits :

Code :
  1. etienne@blackmesa:~/BOINC$ ls -la /usr/lib/libstdc++.so.6.0.8
  2. -rw-r--r-- 1 root root 965344 2006-12-10 18:11 /usr/lib/libstdc++.so.6.0.8


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

Marsh Posté le 13-01-2009 à 21:17:00    

Bon effectivement c'est bien un probleme de version : je suis alle cherche une vieille version de mon logiciel : ca a l'air de fonctionner :-)
 
Tant pis pour la derniere, au pire j'essaierai de recompiler depuis les sources !
 
Merci beaucoup mjules, j'aurai decouvert ldd  :love:


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

Marsh Posté le 13-01-2009 à 21:21:05    

cherche pas plus loin, t'es en 64 bits et je parie que boinc est en 32bits. Donc forcément, il ne trouve que les libs 32 bits, et il n'y en a manifestement pas beaucoup.
 
Solutions possibles  : compiler boinc si tu as les sources ou l'installer en 64bits si possible. Rajouter les libs manquantes dans le dossier qui va bien et utiliser LD_LIBRARY_PATH ou setrpath.


---------------
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 13-01-2009 à 21:46:15    

Mjules a écrit :

cherche pas plus loin, t'es en 64 bits et je parie que boinc est en 32bits. Donc forcément, il ne trouve que les libs 32 bits, et il n'y en a manifestement pas beaucoup.
 
Solutions possibles  : compiler boinc si tu as les sources ou l'installer en 64bits si possible. Rajouter les libs manquantes dans le dossier qui va bien et utiliser LD_LIBRARY_PATH ou setrpath.


J'avais pense recompiler, mais ca me gonflait... j'ai pris une vieille version de 2007 pour x86_64, et ca marche... pour le moment, je m'arrete la.
 
Mais a terme recompiler serait l'ideal c'est sur ! Apparemment des ameliorations de perfs ont ete vues sur les dernieres versions (compilees avec GCC 4.1)... mais bon pour le moment je m'en fiche un peu.


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

Sujets relatifs:

Leave a Replay

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