Как заставить ссылки на Linux libgpod и Rhythmbox - PullRequest
1 голос
/ 08 декабря 2010

Хорошо, я добавил некоторые функции в библиотеку linux.

Однако даже после 'make install' программа, которую я пытаюсь подтвердить, ссылается на предыдущую версию.

Итак, «make install» размещает мои библиотеки здесь: '/ USR / местные / Библиотека' а также '/ USR / местные / включить'

Я использовал следующее при настройке: ./configure --enable-keeper-mode --enable-uninstalled-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/'

Но когда я пытаюсь выполнить программу, я получаю «Символ не найден» и «Плагин не может загрузить»

Когда я добавляю полученный плагин так: ~ / Разработка / 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)

Акцент делается на том, что он явно связан с неверной библиотекой ... Когда я смотрю в файле make, я вижу следующее:

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 -lrt -lglib-2.0

Таким образом, CPPFLAGS передаются плагину, и в .deps я вижу, что включен соответствующий файл заголовка ... IE:

~ / Development / rhythmbox / plugins / ipod / .deps $ less rb-ipod-source.Po | grep gpod

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

* +1032 * / USR / местные / включить / gpod-1.0 / gpod / itdb.h:

Ubuntu 10.10

Есть идеи?

Ответы [ 2 ]

1 голос
/ 09 декабря 2010

Вам нужно установить LD_RUN_PATH на /usr/local/lib перед запуском configure и make. Это включит /usr/local/lib в качестве пути поиска совместно используемой библиотеки в исполняемый файл.

0 голосов
/ 08 декабря 2010

libgpod.so указывает на старую версию библиотеки.

...