comment forcer barettes sur linux libgpod et Rhythmbox
-
10-10-2019 - |
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?
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.