2017-02-26 1 views
2

Je joue avec la bibliothèque this pour le Raspberry Pi (Raspian/DietPi - Jessie) et a couru dans une situation particulière. J'ai fait quelques changements locaux, construit et installé la bibliothèque comme ceci:commande ldconfig revient à la version précédente de la bibliothèque

cmake .. 
sudo make install 
sudo ldconfig 

Cependant plus tard, je fis une correction à la bibliothèque puis construit et installé la bibliothèque, mais n'a pas couru la commande « ldconfig ». J'ai exécuté mon programme qui utilise ces bibliothèques liées dynamiquement et cela a fonctionné avec les bibliothèques mises à jour.

Cependant, je puis réalisé que j'oublié « sudo ldconfig » et après son exécution, le programme est exécuté clairement à la version précédente de la bibliothèque. Je l'ai répété à plusieurs reprises et a dû utiliser effectivement « ldconfig -p » pour trouver où les fichiers étaient .so et les supprimer afin que la prochaine ldconfig utiliserait les fichiers les plus récents, et le problème a été résolu.

Pourquoi serait « sudo ldconfig » attraper une version précédente de ces construire des bibliothèques, et où serait-il de les saisir?

Répondre

0

Vous pouvez ajouter votre chemin courant lib etc/ld.so.conf puis exécutez ldconfig à nouveau.

Ou vous pouvez ajouter à LD_LIBRARY_PATH export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/new/path/newpath