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
>

Reply via email to