Question

Ok, je l'ai ajouté quelques fonctionnalités à une bibliothèque de Linux.

Cependant, même après make install le programme que je suis en train de confirmer la fonctionnalité est un lien vers la version précédente.

'make install' met mes bibliothèques ici: '/ Usr / local / lib' et '/ Usr / local / include

J'utilisé ce qui suit sur configure: ./configure --enable-mainteneur mode enable-désinstallée-build 'CFLAGS = -g -O0' 'CXXFLAGS = -g -O0' 'JFLAGS = -g -O0' 'FFLAGS = -g -O0' CPPFLAGS = '- L / usr / local / lib / -I /usr/local/include/gpod-1.0 /'

Mais quand je tente d'exécuter le programme que je reçois Arobase not found »et « plug-in ne peut pas charger »

Quand je ldd le produit plug-in si: ~ / Développement / Rhythmbox / plugins / ipod / .libs $ ldd libipod.so

Linux-gate.so.1 => (0x00d97000)

librhythmbox-core.so.1 => /home/gary/Development/rhythmbox/shell/.libs/librhythmbox core.so.1 (0x009ad000)

libgpod.so.4 => /usr/lib/libgpod.so.4 (0x00509000)

L'accent étant souligné, car il est évidemment liant à la mauvaise bibliothèque ... Quand je regarde dans le fichier makefile je vois ce qui suit:

IPOD_CFLAGS = -pthread -I / usr / local / include / gpod-1.0 -I / usr / include / glib-2.0 -I / usr / lib / glib-2.0 / include -I / usr / include / gdk- pixbuf-2.0 -I / usr / include / libpng12

IPOD_LIBS = -pthread -L / usr / local / lib -lgpod -lgdk_pixbuf-2,0 -lm -lgobject-2,0--lgmodule 2,0 -lpng12 -lgthread-2,0-2,0 -lrt -lglib

Ainsi, les CPPFLAGS sont passés par le plug-in, et .deps je vois le fichier d'en-tête approprié étant inclus ... IE:

~ / développement / Rhythmbox / plugins / ipod / .deps $ de moins rb-ipod-source.Po | grep gpod

/usr/local/include/gpod-1.0/gpod/itdb.h ../../lib/eel-gconf-extensions.h

/usr/local/include/gpod-1.0/gpod/itdb.h:

Ubuntu 10.10

Toutes les idées?

Était-ce utile?

La solution

Vous devez définir LD_RUN_PATH à /usr/local/lib avant d'exécuter configure et make. Cela intégrera /usr/local/lib comme un chemin de recherche bibliothèque partagée dans le fichier exécutable.

Autres conseils

libgpod.so pointe à l'ancienne version de la bibliothèque.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top