[theora] ffmpeg2theora: Undefined symbols?

Jason Self jason.self at gmail.com
Thu Jul 23 21:11:32 PDT 2009

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  
jason$ patch ffmpeg/libavcodec/resample.c patches/6to2channel- 
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  
         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/ 
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.

More information about the theora mailing list