LINUX.ORG.RU

Пути к либе


0

0

Такая проблема: в определённом дистрибутиве (Mandriva) определённый пакет (libqsintilla2) собран таким образом, что либа кладётся не в /usr/lib, а в /usr/lib/qt4/lib. При сборке Qt4-проекта с подключением этой либы и указанием вышеозначенного пути, сборка проходит нормально, но при запуске либа, естественно, не находится, ибо ищется по адресу /usr/lib (судя по показаниям ldd).

Какие есть пути это побороть (кроме, разумеется, ручного копирования либы в /usr/lib) ?

★★★★

>Какие есть пути это побороть (кроме, разумеется, ручного копирования либы в /usr/lib) ?

Симлинк?

wfrr ★★☆
()
Ответ на: комментарий от garikello

А как быть с пакетом, который зависит от этой либы? Придётся шаманить с ldconfig на каждой машине, куда ставится пакет?

Хм.... полагаю, у RPM есть пред-установочные скрипты, как у DEB (я просто с RPM дела не имел)? Тогда можно затолкать это туда.

MYMUR ★★★★
() автор топика
Ответ на: комментарий от MYMUR

> полагаю, у RPM есть пред-установочные скрипты

Конечно. И пост-установочные тоже есть %)

tailgunner ★★★★★
()
Ответ на: комментарий от ShprotX

В принципе да, LD_LIBRARY_PATH тоже вполне помогает :)

Всем спасибо.

MYMUR ★★★★
() автор топика

Use --rpath

LDFLAGS="-Wl,--rpath=/usr/lib/qt4/lib"

Если б это был autoconf, то

./configure LDFLAGS="-Wl,--rpath=/usr/lib/qt4/lib"

А как qmake это скормить -- не знаю.

Dselect ★★★
()
Ответ на: Use --rpath от Dselect

>А как qmake это скормить -- не знаю.

у меня в одном проекте примерно так:

LIBS += -Xlinker -rpath -Xlinker /usr/lib/qt4/lib

ale ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.