[FFmpeg-user] libvo-amrwbenc.so.0: cannot open shared object file

Reindl Harald h.reindl at thelounge.net
Tue Sep 30 12:09:55 CEST 2014


Am 30.09.2014 um 10:35 schrieb Moritz Barsnick:
> On Mon, Sep 29, 2014 at 22:50:38 +0200, Reindl Harald wrote:
>> instead learn to use rpmbuild
> 
> While I _totally_ advocate this, ffmpeg is the one tool which I don't
> do this for. I use the rpmfusion repository for various tools, and they
> tend to depend upon the ffmpeg-libs package or its dependencies. I try
> not to open this can of worms of changing versions and APIs. I just
> leave those ffmpeg* packages untouched, and build a "newer" and more
> customized ffmpeg into a different location.
> 
> For ffmpeg, there are good instructions on how to build it and its
> dependencies into a "private" directory, and actually make it work
> without shuffling libs into other locations

i do the same - ffmpeg under /usr/local/bin with static linked
x264 but packed as RPM - it don't collide with the rpmfuison
ffmpeg-libs package that way

[builduser at buildserver:~]$ cat /rpmbuild/SPECS/ffmpeg-latest.spec
%global            debug_package    %{nil}
%global            snapshot         20140927

Summary:           Audio/Video-Encoder (static build)
Name:              ffmpeg-latest
Version:           2.4.1
Release:           1%{?dist}
License:           GPLv3+
Group:             Applications/Multimedia
URL:               http://ffmpeg.org/
Source0:           ffmpeg-%{snapshot}.tar.bz2
Source1:           ffmpeg-snapshot-latest.sh
BuildRequires:     bzip2-devel
BuildRequires:     imlib2-devel
BuildRequires:     lame-devel
BuildRequires:     libtheora-devel
BuildRequires:     x264-latest
BuildRequires:     zlib-devel
BuildRequires:     libvpx-devel
BuildRequires:     openssl-devel
BuildRequires:     yasm
Requires:          sh-utils
Requires(preun):   systemd-units
Requires(postun):  systemd-units
Provides:          ffmpeg
Obsoletes:         ffmpeg

%description
FFMpeg is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash

%package           manpages
Group:             Manpages
Summary:           Manpages for ffmpeg-latest
BuildArch:         noarch
%description       manpages



%prep

%setup -q -n ffmpeg-%{snapshot}



%build

mkdir generic

pushd generic

../configure \

 --prefix=%{_prefix}/local \

 --bindir=%{_prefix}/local/bin \

 --datadir=%{_prefix}/local/share/ffmpeg \

 --incdir=%{_prefix}/local/include/ffmpeg \

 --libdir=%{_prefix}/local/lib64 \

 --shlibdir=%{_prefix}/local/lib64 \
 --mandir=%{_prefix}/local/man \
 --arch=x86_64 \
 --cpu=corei7 \
 --extra-cflags="-I%{_prefix}/local/x264 %{optflags} -O3 -ffast-math -fomit-frame-pointer -floop-interchange
-floop-block -ftree-loop-distribution -fno-strict-aliasing" \
 --extra-ldflags="-I%{_prefix}/local/x264 -L%{_prefix}/local/x264 -ldl -Wl,-z,now -Wl,-z,relro,-z,noexecstack" \
 --enable-nonfree \
 --enable-gpl \
 --enable-version3 \
 --enable-libmp3lame \
 --enable-libtheora \
 --enable-libx264 \
 --enable-libvpx \
 --enable-openssl \
 --enable-static \
 --enable-runtime-cpudetect \
 --enable-bzlib \
 --enable-zlib \
 --disable-amd3dnow \
 --disable-avdevice \
 --disable-debug \
 --disable-devices \
 --disable-ffplay \
 --disable-ffprobe \
 --disable-ffserver \
 --disable-htmlpages \
 --disable-hwaccels \
 --disable-iconv \
 --disable-libdc1394 \
 --disable-libfaac \
 --disable-libfreetype \
 --disable-libgsm \
 --disable-libopencore-amrnb \
 --disable-libopencore-amrwb \
 --disable-libopencv \
 --disable-libopenjpeg \
 --disable-libopus \
 --disable-librtmp \
 --disable-libschroedinger \
 --disable-libspeex \
 --disable-libvorbis \
 --disable-libxvid \
 --disable-podpages \
 --disable-postproc \
 --disable-protocols \
 --enable-protocol=cache \
 --enable-protocol=concat \
 --enable-protocol=crypto \
 --enable-protocol=data \
 --enable-protocol=file \
 --enable-protocol=http \
 --enable-protocol=https \
 --enable-protocol=md5 \
 --enable-protocol=mmsh \
 --enable-protocol=mmst \
 --enable-protocol=pipe \
 --enable-protocol=rtp \
 --enable-protocol=srtp \
 --enable-protocol=rtmp \
 --enable-protocol=rtmps \
 --enable-protocol=tcp \
 --enable-protocol=udp \
 --enable-protocol=unix \
 --enable-protocol=tls \
 --disable-shared \
 --disable-txtpages
%{__make} %{?_smp_mflags}
make documentation
popd
# build 'qt_faststart' standalone binary
CURRENT_DIR=`pwd`
mkdir -p %{buildroot}%{_prefix}/local/bin/
gcc -fPIC -fPIE -pie -Wl,-z,now -Wl,-z,relro,-z,noexecstack $CURRENT_DIR/tools/qt-faststart.c -o qt-faststart

%install
pushd generic
make install DESTDIR=%{buildroot}
popd
install -D -m0755 qt-faststart "%{buildroot}%{_prefix}/local/bin/qt-faststart"
mkdir %{buildroot}%{_bindir}
ln -s %{_prefix}/local/bin/ffmpeg %{buildroot}%{_bindir}/ffmpeg
rm -rf %{buildroot}%{_prefix}/local/include/ffmpeg/ %{buildroot}%{_prefix}/local/lib64/
%{buildroot}%{_prefix}/local/share/ffmpeg
strip -s %{buildroot}%{_prefix}/local/bin/qt-faststart %{buildroot}%{_prefix}/local/bin/ffmpeg

%files
%{_prefix}/local/bin/ffmpeg
%{_prefix}/local/bin/qt-faststart
%{_bindir}/ffmpeg

%files manpages
%{_prefix}/local/man/man1/*
%{_prefix}/local/man/man3/*

%changelog
* Sat Sep 27 2014 Reindl Harald <h.reindl at thelounge.net>
- update to 2.4.1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-user/attachments/20140930/757f4ab9/attachment.asc>


More information about the ffmpeg-user mailing list