Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

bibliothèque non trouvée dans /usr/local/lib

9 réponses
Avatar
Lionel GRUHN
Bonjour à tous...

Je viens d'installer un petit soft dans /usr/local et celui-ci comporte une
bibliothèque placée tout naturellement dans /usr/local/lib.

A l'exécution, ce programme n'est pas content car il ne trouve pas sa
bibliothèque J'ai fait un lien de cette bibliothèque dans /usr/lib et là,
tout fonctionne comme sur des roulettes.

Ma question est: comment faire pour que ce programme accède à sa
bibliothèque plus proprement?

J'utilise une gentoo, le programme était déjà complié et livré dans une
archive tgz. Je suppose qu'à la compilation, cette bibliothèque se trouvait
dans /usr/lib et que c'est pour cela que ça déconne...

Lionel Gruhn

9 réponses

Avatar
Rakotomandimby (R12y) Mihamina
Lionel GRUHN :

Ma question est: comment faire pour que ce programme accède à sa
bibliothèque plus proprement?
J'utilise une gentoo, le programme était déjà complié et livré dans
une archive tgz. Je suppose qu'à la compilation, cette bibliothèque se
trouvait dans /usr/lib et que c'est pour cela que ça déconne...


Je pense que tu as fait "proprement", compte tenu des éléments en main.


--
Miroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

Avatar
Ronald
Le Mon, 13 Jun 2005 20:01:01 +0200, Rakotomandimby (R12y) Mihamina a
écrit :

Lionel GRUHN :

Ma question est: comment faire pour que ce programme accède à sa
bibliothèque plus proprement?
J'utilise une gentoo, le programme était déjà complié et livré dans
une archive tgz. Je suppose qu'à la compilation, cette bibliothèque se
trouvait dans /usr/lib et que c'est pour cela que ça déconne...


Je pense que tu as fait "proprement", compte tenu des éléments en main.


et rajouter /usr/local/lib dans /etc/ld.so.conf c'est plus propre ou non?
Je demande, hein.


Avatar
Basile Starynkevitch [news]
On 2005-06-13, Lionel GRUHN wrote:

Je viens d'installer un petit soft dans /usr/local et celui-ci comporte une
bibliothèque placée tout naturellement dans /usr/local/lib.


Ensuite, il faut ajouter une ligne /usr/local/lib dans /etc/ld.so.conf
(si cette ligne n'y est pas déjà) puis lancer la commande
/sbin/ldconfig

Il faut en théorie être raisonnablement sûr que les bibliothèques sous
/usr/local/lib sont relativement robustes (autant que celles sous
/usr/lib) - autrement ce serait un trou de sécurité - voir les man de
ld.so et ldconfig pour les sombres détails (que j'avoue avoir
oubliés).

La commande ldconfig doit être relançée à chaque modification de
repértoire (comme /usr/local/lib). On pourrait aussi modifier ou
expliciter son LD_LIBRARY_PATH (mais j'ai horreur de faire ça).


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile(at)starynkevitch(dot)net
8, rue de la Faïencerie, 92340 Bourg La Reine, France

Avatar
TiChou
Dans le message <news:,
*Ronald* tapota sur f.c.o.l.configuration :

Je pense que tu as fait "proprement", compte tenu des éléments en main.



Je pense qu'au contraire que ça n'est pas propre, sinon quel intérêt
d'installer des logiciels ne faisant pas partit de la distribution dans
/usr/local si c'est pour quand même aller en installer dans /usr ?

et rajouter /usr/local/lib dans /etc/ld.so.conf c'est plus propre ou non?


Oui, c'est la méthode propre.

Je demande, hein.


Vous faites bien. :)

--
TiChou


Avatar
Lionel GRUHN
Basile Starynkevitch [news] wrote:

On 2005-06-13, Lionel GRUHN wrote:

Je viens d'installer un petit soft dans /usr/local et celui-ci comporte
une bibliothèque placée tout naturellement dans /usr/local/lib.


Ensuite, il faut ajouter une ligne /usr/local/lib dans /etc/ld.so.conf
(si cette ligne n'y est pas déjà) puis lancer la commande
/sbin/ldconfig


Et bien merci beaucoup, ça marche du feu de Dieu!!

Lionel


Avatar
Lionel GRUHN
TiChou wrote:

Dans le message <news:,
*Ronald* tapota sur f.c.o.l.configuration :

Je pense que tu as fait "proprement", compte tenu des éléments en main.



Je pense qu'au contraire que ça n'est pas propre, sinon quel intérêt
d'installer des logiciels ne faisant pas partit de la distribution dans
/usr/local si c'est pour quand même aller en installer dans /usr ?


C'est pour ça que je posais la question initiale: je n'avais fait qu'un
lien, mais j'avais tout de même mis quelque chose qui ne faisait pas partie
de ma distrib hors de /usr/local...



et rajouter /usr/local/lib dans /etc/ld.so.conf c'est plus propre ou non?


Oui, c'est la méthode propre.


Et après toute modif du contenu du répertoire, lancer un
petit /sbin/ldconfig, comme l'a indiqué Basile Starynkevitch dans sa
réponse. Parce que /usr/local/lib figurait bien dans mon /etc/ld.so.conf...

Lionel



Avatar
Ronald
Le Mon, 13 Jun 2005 21:19:26 +0200, Lionel GRUHN a écrit :


et rajouter /usr/local/lib dans /etc/ld.so.conf c'est plus propre ou
non?


Oui, c'est la méthode propre.


Et après toute modif du contenu du répertoire, lancer un petit
/sbin/ldconfig, comme l'a indiqué Basile Starynkevitch dans sa réponse.
Parce que /usr/local/lib figurait bien dans mon /etc/ld.so.conf...


J'ai une bonne excuse (si,si!) : pour moi le ldconfig fait partie de la
procédure d'installation au même titre que le configure, c'est devenu un
réflexe , si bien que je le lance même quand aucune bibliothèque n'a été
installée.

Lionel




Avatar
Lionel GRUHN
Ronald wrote:

J'ai une bonne excuse (si,si!) : pour moi le ldconfig fait partie de la
procédure d'installation au même titre que le configure, c'est devenu un
réflexe , si bien que je le lance même quand aucune bibliothèque n'a été
installée.



Et bien je crois que c'est une habitude que je vais prendre moi aussi:
maintenant que j'ai eu un pb et que du coup j'ai lu la doc ;o)

Lionel

Avatar
Thierry Boudet
On 2005-06-13, Lionel GRUHN wrote:

Je viens d'installer un petit soft dans /usr/local et celui-ci comporte une
bibliothèque placée tout naturellement dans /usr/local/lib.

A l'exécution, ce programme n'est pas content car il ne trouve pas sa
bibliothèque J'ai fait un lien de cette bibliothèque dans /usr/lib et là,
tout fonctionne comme sur des roulettes.

'ldd' sur le binaire te donnera plus d'indications.


Ma question est: comment faire pour que ce programme accède à sa
bibliothèque plus proprement?


'ldconfig' est la solution. Lire la page de man.


--
_/°< coin