[gst-devel] Gst-ffmpeg Cygwin compile error

LRN lrn1986 at gmail.com
Wed Aug 19 19:22:57 CEST 2009


Marko Mikkonen wrote:
> Hello,
>
> I've been trying to compile ffmpeg gstreamer plugin with cygwin and it won't 
> compile.
>
> First some preliminaries: I use Cygwin 1.7 beta, because rtp/rtsp-plugins in 
> base plugins need IPv6 stuff and only Cygwin 1.7 beta has them. 
> Additionally, I've downloaded, compiled and installed glib-2.20.1 and 
> liboil-0.3.16. Other external libraries can be found in Cygwin. Oh, and I 
> had to fix glib-2.20.1 a bit: I set the return type of strsignal as char* 
> (instead of const char*) in gstrfuncs.c (line 1414). The compilation of 
> gstreamer-0.10.24, gst-plugins-base-0.10.24 and gst-plugins-good-0.10.15 
> (with ./configure --prefix=/usr --exec-prefix=/usr & make install) all went 
> well. But there's a problem with gst-ffmpeg-0.10.8.
>
> After configure, when I try to make, it goes well until I hit this spot:
>
> --------------------------------
> Making all in ffmpeg
>   CC    gstffmpeg.o
>   CC    gstffmpegprotocol.o
>   CC    gstffmpegcodecmap.o
>   CC    gstffmpegutils.o
>   CC    gstffmpegenc.o
>   CC    gstffmpegdec.o
>   CC    gstffmpegcfg.o
>   CC    gstffmpegdemux.o
>   CC    gstffmpegmux.o
>   CC    gstffmpegdeinterlace.o
>   CC    gstffmpegaudioresample.o
>   LINK  libgstffmpeg.la
>
> *** Warning: Trying to link with static lib archive 
> ../../gst-libs/ext/ffmpeg/li
> bavformat/libavformat.a.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have
> *** because the file extensions .a of this argument makes me believe
> *** that it is just a static archive that I should not use here.
> -----------------------------
>
> There are similar complaints about libavcodec and libavutil. Then there's 
> lots of  "undefined references" to this and that, apparently things from 
> those libraries. Import libraries are not created (no files with extension 
> .dll.a can be found, except libgstffmpeg.dll.a). Static libraries are 
> created (libavcodec.a, libavformat.a and libavutil.a). However, dll's are 
> also created (cygavcodec-52.dll, cygavformat-52.dll and cygavutil-49.dll). 
> Is there a switch of some sort that creates import libraries or is this a 
> bug in the gst-ffmpeg build engine or Cygwin 1.7 beta? I've tried a bunch of 
> different switches.
>
> -M- 
>   
I don't know much about cygwin, so i don't really know if it is related
or not...but i do know that gst-ffmpeg uses libtool in
non-cross-platform way to link libav* to libgstffmpeg. As a result i
have failed to build gst-ffmpeg on Windows with internal ffmpeg copy and
had to resort to using external ffmpeg (of appropriate version, of course).




More information about the gstreamer-devel mailing list