Вопрос по сборке пакетов из исходников, разница в версиях библиотек и etc.

Автор CoolAller, 05 марта 2018, 15:12:10

« назад - далее »

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

CoolAller

В общем хз че еще пробовать, собрал FFmpeg. Потом собрал VLC 2.2.8 с FFmpeg:
Качаем VLC версии 2.2.8, так как: Debian stretch and jessie follow the 2.2.x release branch of VLC:
wget "http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz"
Распаковываем:
tar -xvf vlc-2.2.8.tar.xz
Устанавливаем пакеты для сборки:
#apt-get build-dep vlc
Заходим в распакованную папку и выполняем скрипт configure:
./configure --enable-x11 --enable-xvideo --enable-sdl --enable-avcodec --enable-avformat --enable-swscale --enable-mad --enable-ffmpeg --with-ffmpeg-tree=/home/user/ffmpeg_sources/ffmpeg --enable-libdvbpsi --enable-a52 --enable-dts --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-live555 --with-live555-tree=/usr/lib/live --enable-caca --enable-skins --enable-skins2 --enable-alsa --enable-qt4 --enable-ncurses
Затем:
make
#make install
После запускаю VLC и видео по-прежнему не воспроизводится. Что это может быть? VLC не подхватил FFmpeg при компиляции?

Сейчас посмотрел в ./configure --help в VLC 2.2.8, там нет опции --with-ffmpeg-tree и --enable-ffmpeg не смотря на то, что в wiki.videolan.org они есть, в связи с этим непонятно как собирать VLC 2.2.8 с FFmpeg.
configure: WARNING: unrecognized options: --enable-ffmpeg, --with-ffmpeg-tree

На одном из форумов по старым версиям VLC v.1.1.0 нашел:

ffmpeg is enabled by default, but configure must find it.
The path of ffmpeg must be set with pkgconfig. If ffmpeg is not installed in a standard place, add the pkgconfig place with PKG_CONFIG_PATH variable

На wiki.videolan.org этого нигде нет. FFmpeg устанавливается с дефолтными путями. Пляски с бубном продолжаются уже 3 день и все из-за такой мелочи как плеер с кодеками.

I-Jurij

export PKG_CONFIG_PATH=$PRFX/lib/pkgconfig

Пример сборки нескольких пакетов, сырцы и результат в разных папках (точнее в трех: src, build, target - итог):
Открыть содержимое (спойлер)


#!/bin/bash
set -e

if [ "x$CORES" == "x" ]; then
CORES=$(cat /proc/cpuinfo | grep processor | wc -l)
fi

babl_version=0.1.30
gegl_version=0.3.20
gimp_version=2.9.6


get_git() {
if [ -d $1 ]; then
cd $1
git pull
cd ..
else
f=""
[ $FAST_GIT_CLONE -eq 1 ] && f="$f --depth=1"
git clone $f $2 $1
fi
}

dl_and_extract() {
if [ ! -d $1 ]; then
if [ "x$4" != "x" ]; then
arname=$4.$3
else
arname=archive.$3
rm -f $arname
fi
[ -f $arname ] || wget "$2" -O $arname
tar xvf $arname
[ "x$4" != "x" ] && mv $4 $1
fi
}

dircd() {
mkdir -p $1
cd $1
}

conf_mk_mkinstall() {
dircd $1
if [ "x$3" != "x" ]; then
cd $SRC/$1
/bin/bash -c "$3"
cd -
fi
$SRC/$1/configure $2 --prefix=$PRFX
make -j$CORES
make install
cd ..
}

echo "== Получаем исходники"
dircd src

echo "=== GIMP"
dl_and_extract gimp http://download.gimp.org/pub/gimp/v${gimp_version%.*}/gimp-${gimp_version}.tar.bz2 tar.bz2 gimp-${gimp_version}

echo "=== babl"
dl_and_extract babl https://download.gimp.org/pub/babl/${babl_version%.*}/babl-${babl_version}.tar.bz2 tar.bz2 babl-${babl_version}

echo "=== gegl"
dl_and_extract gegl https://download.gimp.org/pub/gegl/${gegl_version%.*}/gegl-${gegl_version}.tar.bz2 tar.bz2 gegl-${gegl_version}

echo "== Building"
cd ..

mkdir -p target
export PRFX=`pwd`/target
export SRC=`pwd`/src
export BLD=`pwd`/build
export PKG_CONFIG_PATH=$PRFX/lib/pkgconfig
export LD_LIBRARY_PATH=$PRFX/lib
export PATH=$PRFX/bin:$PATH

dircd build

echo "=== babl"
conf_mk_mkinstall babl ""

echo "=== gegl"
conf_mk_mkinstall gegl "--disable-docs"

echo "=== gimp"
conf_mk_mkinstall gimp "--disable-docs --without-webkit --without-alsa --without-dbus --enable-libwebpmux --enable-libwebpdemux"

cd ..

echo "Готово."


[свернуть]