[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