Linux Programme ne peut pas trouver de Bibliothèque Partagée à l'exécution

Je suis en train de compiler un programme linux, id3v2, et il dit qu'il est ne peut pas trouver la bibliothèque appropriée:

id3v2: error while loading shared libraries: libid3-3.8.so.3: cannot open shared object file: No such file or directory

Je suppose que c'est la partie qui tire dans le lidid3 bibliothèque?

Le fichier N'existe pas, cependant, ce qu'ils recherchent est en fait un lien symbolique vers:

"ibid3-3.8..3.0.0"

Je me demande si c'est un problème de ne pas être en mesure de suivre les liens symboliques? Je pourrais peut-être changer manuellement à la recherche de 0,0 si je savais où je cherchais à changer.

Je suis heureux de clarifier tous les détails.

Il ressemble à de la sont fait de la façon suivante:

id3v2:  convert.o list.o id3v2.o genre.o
        ${CXX} ${LDFLAGS} -pedantic -Wall -g -o [email protected] $^ -lz -lid3

J'ai été en mesure d'utiliser Simon conseils pour comprendre qu'il y avait plusieurs endroits où l'on pourrait s'attendre à une bibliothèque. - Je créer un lien symbolique où le programme a été en reliant le fichier RÉEL.

Merci Simon!

Votre demande le titre sur la tête, mais votre question est clairement à propos de la bibliothèque partagée à l'exécution :-/. Vous pouvez vérifier si cela fonctionne, si vous ajoutez le répertoire contenant le lien symbolique vers votre variable d'environnement LD_LIBRARY_PATH.
De toute évidence, je ne comprends pas ce que je fais. Je vais essayer de lire votre déclaration et voir si je peux suivre vos conseils.
Cela pourrait être prometteur... stackoverflow.com/questions/3490667/...
Avez-vous essayez d'exécuter ldconfig en tant que root? Ce programme rend un registre des bibliothèques utilisées pour l'exécution de chargement de bibliothèque. Le truc, c'est que la bibliothèque doit être dans un endroit qui ldconfig s'attend à le voir, qui dépend de la distribution. La liste des répertoires de la bibliothèque est généralement dans /etc/ld.so.conf ou dans un endroit similaire.
J'ai juste couru ldconfig en tant que root. Pas de changement. Mais maintenant je sais que ça existe!

OriginalL'auteur Scott | 2011-01-21