Сайт | Скачать | Видео | Wiki

Автор Тема: Компиляция библиотек отличной от среза репозитория версии  (Прочитано 1806 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Как известно , в репозитории любого дистрибутива, многие программы связаны между собой..
Например, библиотеки ffmpeg используют все медиаплееры. Если изменить версию ffmpeg - возникнут проблемы, вплоть до полной неработоспособности плееров

Как быть, если для чего-то нужна другая версия ffmpeg (для других либ аналогично)
На примере vlc 2.x , который долго не мог перейти на ffmpeg 3.x
Т.е. в системе ffmpeg 3.x, а vlc 2.x нужен ffmpeg 2.x
1.  Компиляция ffmpeg2
Код
  ./configure \
    --prefix='/usr' \
    --incdir='/usr/include/ffmpeg2.8' \
    --libdir='/usr/lib/ffmpeg2.8' \
    --shlibdir='/usr/lib/ffmpeg2.8' \
Т.е. либы другой версии будет находиться в /usr/lib/ffmpeg2.8 и не будут мешать тем, что в /usr/lib
Код
echo -e '/usr/lib/\n/usr/lib/ffmpeg2.8/' > "${pkgdir}"/etc/ld.so.conf.d/50-ffmpeg2.8.conf
http://wiki.puppyrus.org/setups/portable#etcldsoconfd
2. Компиляция vlc2 с ffmpeg2
Код
export PKG_CONFIG_PATH="/usr/lib/ffmpeg2.8/pkgconfig" ./configure --prefix=/usr ...

Аналогичным образом сделан multilib

Выводы , применитьльно к  PRA-roll
1. ffmpeg-light c либами в /usr/lib можно иметь только версии среза арчрепы и пропиской конфликта с обычным ffmpeg
А может быть и в /usr/lib/ffmpeg-light ,т.к. другие проги в арчрепе рассчитаны на полный ffmpeg
2. Свежий mpv , который не редко требует самого свежего ffmpeg - делать только по изложенной выше методе ,т.е. /usr/lib/ffmpegХ.Y