Version 18 (modified by Rick van der Zwet, 11 years ago) ( diff )


Warning: Work in progress, this page is for from completed/correct. When trying to compile FFmpeg under FreeBSD 8.1-RELEASE I got an error:

Error: `ff_h264_cabac_tables+1024+128(%esi)' is not a valid 64 bit base/index expression

apparently the linker is broken, but as seen at Solaris here there is a workaround, also seen to work at FreeBSD here. After the ./configure phase apply:

 echo '#define BROKEN_RELOCATIONS 1' >> config.h

Trying this fix did still NOT solve my issue, next is trying a later/better compiler and linker, I will get the job done by clang/llvm for this matter:

  make -C /usr/ports/lang/clang install
  make -C /usr/ports/multimedia/x264
  env CFLAGS="-I/usr/local/include -l/usr/local/lib" ./configure --cc=clang \
    --cxx=clang --ld=clang --enable-libx264 --enable-gpl --prefix=$HOME/ff/
  env CFLAGS="-I/usr/local/include -l/usr/local/lib" gmake install

Issues with moov atom:

Proper m3u8 multiplexer

Very good moov how-to:

Error: /usr/bin/ld: /home/rvdzwet/ff/lib/libavformat.a(allformats.o): relocation R_X86_64_32 against `ff_a64_muxer' can not be used when making a shared object; recompile with -fPIC

Make sure to set --enable-pic at your ./configure phase.

Note: See TracWiki for help on using the wiki.