The external ffmpeg headers are installed in /usr/local/include/libavcodec (and I think /usr/local/include/libavdevice, /usr/local/include/libavformat, and /usr/local/include/libabutil are also part of it?)
On my first run through the compile I had some errors not being able to find avcodec.h, which was included from ffmpeg/avcodec.h. However, there is noplace on my system (not even in the cinelerra source) where there is a ffmpeg directory with avcodec.h in it. So, I changed #include <ffmpeg/avcodec.h> to #include <libavcodec/avcodec.h>. Maybe that's part of my problem? There isn't (as far as I can tell) a copy of avcodec.h distributed with cinelerra, so wouldn't one have to use the external headers? >My pov is that static linking should be avoided. It is always better >to build a shared version even if it is meant to be internal to >cinelerra (using a --suffixed SONAME in ffmpeg) So how do I go about doing this with cinelerra? Is there a configure option I can set? I have both static and shared version of the external library built. Thanks, --Chad On Tue, Jul 8, 2008 at 4:37 AM, KH KH <[EMAIL PROTECTED]> wrote: > 2008/7/8 Chad Parker <[EMAIL PROTECTED]>: > > Hey all- > > > > Compiling the latest cvs version I've run into a snag with the ffmpeg > > libraries (I think anyway). I end up with some linker errors at the end: > > > > fmpeg.o(.text+0x6f): In function `FFMPEG::~FFMPEG()': > > /home/cparker/src/cinelerra/hvirtual/cinelerra/ffmpeg.C:41: undefined > > reference to `avcodec_close(AVCodecContext*)' > > ffmpeg.o(.text+0x9f): In function `FFMPEG::~FFMPEG()': > > /home/cparker/src/cinelerra/hvirtual/cinelerra/ffmpeg.C:41: undefined > > reference to `avcodec_close(AVCodecContext*)' > > ffmpeg.o(.text+0x14c): In function `FFMPEG::init(char*)': > > /home/cparker/src/cinelerra/hvirtual/cinelerra/ffmpeg.C:18: undefined > > reference to `avcodec_init()' > > > > etc, etc. This has happened before it seems (although, I'm not running > > 64-bit, or fedora): > > > > http://www.mail-archive.com/[email protected]/msg07325.html > Where are the installed ffmpeg header path ? If you are using a system > fffmpeg it can conflict with the ffmpeg internal snapshoot. > But i think this problem is related to undefined weak symbol in the > ffmpeg library. This cannot be accurately sorted when using static > linking. > > My pov is that static linking should be avoided. It is always better > to build a shared version even if it is meant to be internal to > cinelerra (using a --suffixed SONAME in ffmpeg) > > > Is it still an issue to have an external copy of ffmpeg installed? Is > there > > a configure option that will force the use of one or the other? Or do I > have > > to remove the system copy of ffmpeg, compile cinelerra, and then restore > it? > > > > For reference, I'm using revision r14055 of the svn version of ffmpeg. I > > think it's probably the most recent version. > > > > Any help is appreciated, thanks! > > --Chad > > > > _______________________________________________ > Cinelerra mailing list > [email protected] > https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra >
