Как заставить программы в / usr / bin всегда использовать библиотеки в / usr / lib

Я борюсь с проблемой пути в Fedora 26. Я создаю обновленные программы и библиотеки и помещаю их в / usr / local . Программы из / usr / local / bin используют библиотеки из / usr / local / lib . По неизвестной на данный момент причине, Fedora 26 gawk , которая находится в / usr / bin / gawk , использует библиотеку в / usr / local / lib. .

Библиотека в / usr / local / lib несовместима с той, которую ожидает gawk , поэтому мои скрипты нарушаются. Или, точнее, мой скрипт вызывает Autotools, а затем Autotools ломается, даже если пути не испорчены. Дополнительная информация о фоновой проблеме доступна на libreadline.so.7: неопределенный символ: UP в Stack Overflow.

Я хотел бы применить политику, которая гласит, что любая программа в / usr / bin должна связываться с библиотеками в / usr / lib . Меня не волнует кулинария или взаимопозиционирование. Если мне нужно это сделать, я соберу пакет из исходников и установлю его в / usr / local .

Другие операционные системы давно решили эту проблему с помощью таких вещей, как install_names в OS X и манифесты в Windows.Linux просто допускает возникновение тех же проблем (я думаю - enable-new-dtags - это последний помощник, который не решает проблему).

Как заставить программы в / usr / bin связываться с библиотеками в / usr / lib ?

-1
23.10.2017, 10:44
0 ответов

Теги

Похожие вопросы