Pregunta

Ok, he añadido alguna funcionalidad a una biblioteca de Linux.

Sin embargo, incluso después de 'make install' el programa que estoy tratando de confirmar la funcionalidad se une a la versión anterior.

'make install' Así que pone mis bibliotecas aquí: '/ Usr / local / lib' y '/ Usr / local / incluir'

He utilizado el siguiente en configure: ./configure-mantenedor-mode enable enable-desinstalado-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 /'

Pero cuando trato de ejecutar el programa me sale 'Símbolo no encontrado' y 'Plugin no puede cargar'

Cuando el LDD produjo plugin de este modo: ~ / Desarrollo / 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)

El énfasis está estresado porque es obvio que une a la biblioteca mal ... Cuando miro en el archivo make veo lo siguiente:

IPOD_CFLAGS = -pthread -I / usr / local / include / gpod-1,0 -I / usr / include / glib-2.0 -I / usr / lib / glib-2.0 / incluir -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 -lrt -lglib-2,0

Así las CPPFLAGS se están pasando a través del plug-in, y en .deps veo el archivo de cabecera adecuada ser incluido ... IE:

~ / Desarrollo / Rhythmbox / plugins / iPod / .deps $ menos 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

¿Alguna idea?

¿Fue útil?

Solución

Es necesario establecer LD_RUN_PATH a /usr/local/lib antes de ejecutar configure y make. Esto incrustar /usr/local/lib como una ruta de búsqueda de biblioteca compartida en el ejecutable.

Otros consejos

libgpod.so está apuntando a la antigua versión de la biblioteca.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top