[gst-devel] Gst-ffmpeg Cygwin compile error

Andoni Morales ylatuya at gmail.com
Fri Aug 21 22:40:34 CEST 2009


2009/8/21 Andoni Morales <ylatuya at gmail.com>:
> 2009/8/21 Marko Mikkonen <mmikkone at mail.student.oulu.fi>:
>> Thank you. Your tip caused me to try to compile ffmpeg-0.5 for cygwin.
>> Again, no import libraries are created. Only .dll's. So maybe this is an
>> ffmpeg problem... Hmmm... I should complain to ffmpeg people instead...
>
> If it helps, these are the options we use in OSSBuild to build ffmpeg
> using minGW:
> ./configure --enable-avfilter-lavf --enable-avfilter --disable-vhook
> --enable-avisynth --target-os=mingw32 --arch=i686 --cpu=i686
> --enable-memalign-hack --extra-cflags=-fno-common --enable-zlib
> --enable-bzlib --enable-w32threads --enable-libmp3lame
> --enable-libvorbis --enable-libopenjpeg --enable-libtheora
> --enable-libspeex --enable-libschroedinger --disable-ffmpeg
> --disable-ffplay --disable-ffserver --enable-static --disable-shared
>
> We  use static linking because using dynamic linking on win32 with the
> ffmpeg-0.5 release leads to a strange bug loading the library. Anyway
> you can use --enable-shared and try it by yourself.

There is bug about this issue here:
https://roundup.ffmpeg.org/roundup/ffmpeg/issue783

Andoni
>
> To get import libraries from the dll you can use the following commands:
>
> #pexports /usr/bin/avformat-52.dll | sed "s/^_//" > avformat.def
> #dlltool -U -d avformat.def -l libavformat.dll.a
>
> Andoni
>
>>
>> -M-
>>
>>
>> ----- Original Message -----
>> From: "LRN" <lrn1986 at gmail.com>
>> To: "Discussion of the development of GStreamer"
>> <gstreamer-devel at lists.sourceforge.net>
>> Sent: Wednesday, August 19, 2009 8:22 PM
>> Subject: Re: [gst-devel] Gst-ffmpeg Cygwin compile error
>>
>>
>>> 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).
>>>
>>> ------------------------------------------------------------------------------
>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008
>>> 30-Day
>>> trial. Simplify your report design, integration and deployment - and focus
>>> on
>>> what you do best, core application coding. Discover what's new with
>>> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
>> trial. Simplify your report design, integration and deployment - and focus on
>> what you do best, core application coding. Discover what's new with
>> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>
>
>
> --
> Andoni Morales Alastruey
>
> LongoMatch:The Digital Coach
> http://www.longomatch.ylatuya.es
>



-- 
Andoni Morales Alastruey

LongoMatch:The Digital Coach
http://www.longomatch.ylatuya.es




More information about the gstreamer-devel mailing list