Назад | Перейти на главную страницу

Что лучше, вручную создать мягкую ссылку на общий .so или установить пакет разработки в Linux

У меня установлен пакет libpng rpm на Centos linux, который включает:

/usr/lib64/libpng.so.3.49.0
/usr/lib64/libpng.so.3 #softlink to libpng.so.3.49.0

Я использую программное обеспечение, в котором используются:

/usr/lib64/libpng.so

Лучше установить libpng-devel пакет, который создает /usr/lib64/libpng.so softlink, чтобы эта softlink обновлялась при обновлении пакета libpng? (На самом деле мне не нужно ничего компилировать, поэтому мне нужна только программная ссылка.)

Или лучше создать программную ссылку вручную, зная, что, если пакет libpng в конечном итоге будет обновлен, программная ссылка не будет работать и может потребоваться воссоздать?

Или вместо этих первых двух способов следует использовать другой способ?

В этом случае я бы выбрал третий способ: создать lib/ каталог где-нибудь, поместите туда символическую ссылку и экспортируйте LD_LIBRARY_PATH указывая на созданный каталог (желательно изменить стартовый сценарий программы или создать его, если он не существует). Таким образом, при запуске программа сначала будет искать там разделяемые библиотеки и найдет libpng.so. Это небольшое хакерское решение, в меньшей степени, если у используемого вами программного обеспечения есть выделенный каталог, и в этом случае вы можете поместить символическую ссылку туда, где она принадлежит.

Пакеты для разработчиков, как правило, создают много беспорядка, и если вы не хотите ничего компилировать, их нет необходимости устанавливать.

Я бы рекомендовал установить пакет libpng-devel.

  1. вам также понадобятся файлы заголовков!
  2. если вы устанавливаете библиотеку с помощью rpm; тогда почему бы не установить .so, используя rpm; лучше держать обоих в курсе друг друга.