Problems rebuilding ffmpeg to include libfaac

Andrew Robinson awrobinson-ml at nc.rr.com
Mon Dec 28 04:35:36 UTC 2009


Got an iphone for Christmas. I want to be able to stream videos to it 
from my MythTV setup. Looking through the MythTV wiki, step one is to 
get ffmpeg to transcode videos to a format that the iphone can use. I 
tried the ffmpeg that came from rpmfusion for my Fedora 11 installation. 
It lacks libfaac support.

To try to fix this and preserve all the yum dependencies, I decided I 
should download and build the source rpm. (Is this the best approach?) I 
downloaded and installed ffmpeg-0.5-3.fc11.src.rpm, which matched the 
version from 'rpm -qa | grep ffmpeg' on my system. Looking in the 
ffmpeg.spec file, I found these lines:

%{?_with_faac:BuildRequires: faac-devel}

     %{?_with_faac:--enable-libfaac --enable-nonfree} \\\


<whine>I also found this comment in the changelog:

- Don't build faac by default because it's nonfree. (kwizart)

I thought the purpose of rpmfusion was to provide the software that Red 
Hat and Fedora did not want to ship but people wanted on their 
computers. So why not include the software for something as popular as 
ipods and iphones?</whine>

I uncommented those two lines and ran 'rpmbuild -ba ffmpeg.spec'. The 
first time, it failed with a list of devel packages I needed. I 
installed those with yum. Then it ran for a long time and then errorred 
out at the end with these statements:

Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 
rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libSDL-1.2.so.0 libasound.so.2 libasound.so.2(ALSA_0.9) 
libasound.so.2(ALSA_0.9.0rc4) libbz2.so.1 libc.so.6 libc.so.6(GLIBC_2.0) 
libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2) 
libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) 
libc.so.6(GLIBC_2.7) libdc1394.so.22 libdirac_decoder.so.0 
libdirac_encoder.so.0 libdl.so.2 libdl.so.2(GLIBC_2.0) 
libdl.so.2(GLIBC_2.1) libfaac.so.0 libm.so.6 libm.so.6(GLIBC_2.0) 
libm.so.6(GLIBC_2.1) libpthread.so.0 libpthread.so.0(GLIBC_2.0) 
libpthread.so.0(GLIBC_2.2) libz.so.1 rtld(GNU_HASH)
Processing files: ffmpeg-libs-0.5-3.fc11.i586
error: File not found by glob: 
/root/rpmbuild/BUILDROOT/ffmpeg-0.5-3.fc11.i386/usr/lib/lib*.so.*
error: File not found by glob: 
/root/rpmbuild/BUILDROOT/ffmpeg-0.5-3.fc11.i386/usr/lib/i686/lib*.so.*

RPM build errors:
     File not found by glob: 
/root/rpmbuild/BUILDROOT/ffmpeg-0.5-3.fc11.i386/usr/lib/lib*.so.*
     File not found by glob: 
/root/rpmbuild/BUILDROOT/ffmpeg-0.5-3.fc11.i386/usr/lib/i686/lib*.so.*


This is what does exist in those directories:

# ls /root/rpmbuild/BUILDROOT/ffmpeg-0.5-3.fc11.i386/usr/lib
libavcodec.a  libavdevice.a  libavformat.a  libavutil.a  pkgconfig vhook

# ls /root/rpmbuild/BUILDROOT/ffmpeg-0.5-3.fc11.i386/usr/lib/i686/
vhook


So my question is this. What don't I know that is required to run 
rpmbuild on the ffmpeg src rpm? What do I need to install or do to make 
this work?

Thanks!

Andrew Robinson




More information about the fedora-list mailing list