Compiling ffmpge2theora from SVN appears to die while complaining
about undefined symbols?
This documents my attempt to build ffmpeg2theora from SVN on Mac OS X
version 10.5.7. I'm using libogg 1.1.4, libvorbis 1.2.3 and Thusnelda
built from SVN...
jason$ svn co http://svn.xiph.org/trunk/ffmpeg2theora/
...
Checked out revision 16330.
jason$ cd ffmpeg2theora;curl -C - -O
http://www.ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
jason$ tar xjvf ffmpeg-0.5.tar.bz2;rm ffmpeg-0.5.tar.bz2;mv ffmpeg-0.5
ffmpeg
jason$ patch ffmpeg/libavcodec/resample.c patches/6to2channel-
resample.patch
patching file ffmpeg/libavcodec/resample.c
Hunk #1 succeeded at 53 with fuzz 1 (offset 16 lines).
Hunk #2 succeeded at 115 (offset 16 lines).
Hunk #3 succeeded at 191 (offset 20 lines).
Hunk #4 succeeded at 353 (offset 108 lines).
jason$ cd ffmpeg
jason$ ./configure --enable-gpl --enable-swscale --enable-postproc --
disable-muxers --disable-encoders --enable-libvorbis --enable-pthreads
&& make
...
jason$ cd ../
jason$ scons
scons: Reading SConscript files ...
scons: warning: The Options class is deprecated; use the Variables
class instead.
File "/Users/jason/ffmpeg2theora/SConstruct", line 22, in
<module>
scons: warning: The BoolOption() function is deprecated; use the
BoolVariable() function instead.
File "/Users/jason/ffmpeg2theora/SConstruct", line 24, in
<module>
Checking for pkg-config... (cached) yes
Checking for ogg >= 1.1 vorbis vorbisenc theora >= 1.0beta1...
(cached) yes
Checking for libavcodec libavformat libavdevice libpostproc
libswscale... (cached) yes
Checking for C header file libavformat/framehook.h... yes
Checking for oggkate... (cached) no
Could not find libkate. Subtitles support will be disabled.
You can also run ./get_libkate.sh (for more information see
INSTALL)
or update PKG_CONFIG_PATH to point to libkate's source folder
scons: done reading SConscript files.
scons: Building targets ...
gcc -o src/avinfo.o -c -DPACKAGE_VERSION=\"0.24\" -DPACKAGE_STRING=
\"ffmpeg2theora-0.24\" -DPACKAGE=\"ffmpeg2theora\" -
D_FILE_OFFSET_BITS=64 -DHAVE_FRAMEHOOK -I. -I/usr/local/include -
Iffmpeg src/avinfo.c
gcc -o src/ffmpeg2theora.o -c -DPACKAGE_VERSION=\"0.24\" -
DPACKAGE_STRING=\"ffmpeg2theora-0.24\"
-DPACKAGE=\"ffmpeg2theora\" -
D_FILE_OFFSET_BITS=64 -DHAVE_FRAMEHOOK -I. -I/usr/local/include -
Iffmpeg src/ffmpeg2theora.c
In file included from src/ffmpeg2theora.c:33:
ffmpeg/libavformat/framehook.h:25:2: warning: #warning VHOOK is
deprecated. Please help finishing libavfilter instead of wasting your
time writing new filters for this crappy filter system.
src/ffmpeg2theora.c: In function 'ff2theora_output':
src/ffmpeg2theora.c:1176: warning: passing argument 1 of
'pp_postprocess' from incompatible pointer type
src/ffmpeg2theora.c:1296: warning: pointer targets in initialization
differ in signedness
gcc -o src/iso639.o -c -DPACKAGE_VERSION=\"0.24\" -DPACKAGE_STRING=
\"ffmpeg2theora-0.24\" -DPACKAGE=\"ffmpeg2theora\" -
D_FILE_OFFSET_BITS=64 -DHAVE_FRAMEHOOK -I. -I/usr/local/include -
Iffmpeg src/iso639.c
gcc -o src/subtitles.o -c -DPACKAGE_VERSION=\"0.24\" -DPACKAGE_STRING=
\"ffmpeg2theora-0.24\" -DPACKAGE=\"ffmpeg2theora\" -
D_FILE_OFFSET_BITS=64 -DHAVE_FRAMEHOOK -I. -I/usr/local/include -
Iffmpeg src/subtitles.c
gcc -o src/theorautils.o -c -DPACKAGE_VERSION=\"0.24\" -
DPACKAGE_STRING=\"ffmpeg2theora-0.24\"
-DPACKAGE=\"ffmpeg2theora\" -
D_FILE_OFFSET_BITS=64 -DHAVE_FRAMEHOOK -I. -I/usr/local/include -
Iffmpeg src/theorautils.c
gcc -o ffmpeg2theora src/avinfo.o src/ffmpeg2theora.o src/iso639.o src/
subtitles.o src/theorautils.o -L/usr/local/lib -ltheora ffmpeg/
libavformat/libavformat.a ffmpeg/libavcodec/libavcodec.a ffmpeg/
libavdevice/libavdevice.a -lz -lbz2 -lm -lvorbisenc -lvorbis -logg
ffmpeg/libpostproc/libpostproc.a ffmpeg/libavutil/libavutil.a ffmpeg/
libswscale/libswscale.a
Undefined symbols:
"_avcodec_decode_video2", referenced from:
_ff2theora_output in ffmpeg2theora.o
_ff2theora_output in ffmpeg2theora.o
"_avcodec_decode_audio3", referenced from:
_ff2theora_output in ffmpeg2theora.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
scons: *** [ffmpeg2theora] Error 1
scons: building terminated because of errors.