LINUX.ORG.RU

Как изменить путь к библиотеке?


0

0

Вернее вопрос в следующем. При установке пакетов из исходников они по умолчанию устанавливаются в /usr/local/include. А старые пакеты стоят в /usr/include. Где системе указать, что смотреть в другом каталоге?


Зависит от того, какой дистрибутив. Если руками собираете, то перед установкой нужно выполнить ./configure --prefix=/usr (а по умолчанию /usr/local), и потом make и make install

arnold_shade
()
Ответ на: комментарий от arnold_shade

Еще перед вызовом configure можно выставить переменные LDFLAGS и CFLAGS в правильные значения, чтобы библиотеки и заголовочные файлы можно было найти

arnold_shade
()
Ответ на: комментарий от arnold_shade

В том то и вопрос. Собираю glib, он ставится в /usr/local/include. А когда после установки спрашиваю какая версия стоит, система видет только старую в /usr/include. Про --prefix=* известно, но не собирать же кучу библиотек так, гдето-же можно указать откуда брать библиотеки?

Zulus
() автор топика

Пионер? Для rpm дистрибутива есть src.rpm - всё собирается и ставится куда надо. Зачем вам две версии glib?

По теме
export CFLAGS="-I/usr/local/include -L/usr/local/lib"
export CXXFLAGS=$CFLAGS

Также придётся, наверное, ручками убить или переместить include's из /usr/include

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

Пионер или Дилетант! Всё равно как назовёте, но когда человек хочет понять систему и ставит голую операционку и начинает к ней прикручивать всё остальное - то ЕМУ наверное так интереснее. А в тупую ставить rpm мне не интересно. Дело в том, что хочу из сырцов собрать Gnome. Так вот после установки некоторых библиотек система видит только старые.
Хоть пинайте, хоть материте но подскажите как с этим бототься!!!!!!!!!!

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

> подскажите как с этим бототься!

Удали старые пакеты.

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

Если система rpm-based, и нужно наличие нескольких версий одного софта, установленных в разные каталоги, то нужно компилировать в пакеты с разными названиями. А если rpm не построен и не установлен, то ты его не увидишь, пока не проверишь версии конкрентных библиотек. если же ты построишь новый rpm с тем же названием, то он при установке просто заменит старый.
Например, тебе нужен glib2-2.6 помимо имеющихся glib-1.2 и glib2-2.4.
Собираешь пакет с именем glib26-2.6 и устанавливаешь его. Только ты не увидишь пакеты glib2 разных версий, а увидишь glib2 и glib26.

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

-I параметр препроцессора! CPPFLAGS

anonymous
()

Жесть... Двойник вылез...

Zulu ★★☆☆
()

Для некоторых программ прийдётся вручную править. Но для современных линуксовых программ конфигурация основана на pkg-config, т.е. здесь всё просто:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

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

Гиморой конкретный. Для того чтобы удалить старый пакет - необходимо удалить все зависимые. При указании --prefix=/usr, чтобы переписать старые, ставятся новые рядом а отвечают старые. После того как перенёс /usr/include в /usr/local/include необходимо перенести и lib, а это как известно влечёт последствия. Вобщем пока вымахиваюсь. СПАСИБО ВСЕМ за помощь.

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