LINUX.ORG.RU

История изменений

Исправление i-rinat, (текущая версия) :

При сборке компоновщик ищет libjpeg.so. Обычно это симлинк, который указывает на что-то типа libjpeg.so.62.2.0, возможно, через другие симлинки. В итоговый бинарник компоновщик прописывает зависимость не от libjpeg.so, а от значения поля SONAME в библиотеке. У libjpeg.so.60.2.0 там прописано «libjpeg.so.62», например.

$ objdump -p libjpeg.so | grep SONAME
  SONAME               libjpeg.so.62

Если ты делаешь библиотеку, выбирай SONAME, который в неё запишешь, правильно. Тебе нужно гарантировать, что все библиотеки с таким же SONAME будут бинарно-совместимы.

Если у тебя получилась зависимость от libjpeg.so.9, значит где-то была библиотека с SONAME libjpeg.so.9. Проверь, может при сборке твоего софта собирается ещё одна копия libjpeg.

Исходная версия i-rinat, :

При сборке компоновщик ищет libjpeg.so. Обычно это симлинк, который указывает на что-то типа libjpeg.so.62.2.0, возможно, через другие симлинки. В итоговый бинарник компоновщик прописывает зависимость не от libjpeg.so, а от значения поля SONAME в библиотеке. У libjpeg.so.60.2.0 там прописано «libjpeg.so.62», например.

$ objdump -p libjpeg.so | grep SONAME
  SONAME               libjpeg.so.62

Если ты делаешь библиотеку, выбирай SONAME, который в неё запишешь, правильно. Тебе нужно гарантировать, что все библиотеки с таким же SONAME будут бинарно-совместимы.