[MPlayer-cygwin] Updated MPlaer MinGW HOWTO

Joey Parrish joey at nicewarrior.org
Wed Aug 17 07:18:32 CEST 2005


On Tue, Aug 16, 2005 at 06:01:53PM +0200, Thomas Plank wrote:
> Stefan Gürtler (helfmir at surfeu.de) wrote:
> > Hi folks
> > I had a look over the MPlayer MinGW HOWTO, as x264 now supports building
> > unsing ./configure, make and make install.
> 
> And you're sure, that x264 works with mplayer?
> 
> I can compile x264, but ./configure of mplayer still says
> 
> Checking for x264 ... no
> 
> When I have a look at configure.log, there are a lot of complaints about
> unused references, so x264 will not be used.
> 
> ============ Checking for x264 ============
> 
> #include <inttypes.h>
> #include <x264.h>
> #if X264_BUILD < 29
> #error We do not support old versions of x264. Get the latest from SVN.
> #endif
> int main(void) { x264_encoder_open((void*)0); return 0; }
> 
> gcc   -static  /tmp/mplayer-conf-28785-3536.c -o /tmp/mplayer-conf-22491-3536.o -L/usr/local/lib -lx264 -lm
> /usr/local/lib/libx264.a(csp.o):csp.c:(.text+0x9af): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0xefc): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x3039): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x3123): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x3184): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x31a2): undefined reference to `__assert'
> /usr/local/lib/libx264.a(common.o):common.c:(.text+0x392): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(common.o):common.c:(.text+0x625): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0xa6): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0xe1): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0x126): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0x207): more undefined references to `__imp___iob' follow

I can explain this.  Under cygwin, x264 builds with mingw runtime.  So
x264's references to stdio don't link with a cygwin app.  That's what
the __imp___iob lines are referencing.

Solutions:
  1. configure x264, then remove all instances of -mno-cygwin from
     config.mak before running make.
  2. build both on mingw.
  3. make MPlayer build on cygwin with mingw runtime.

#1 is easy, #2 is not nice if you are very involved in your cygwin
install, and #3 is maybe not that easy.

--Joey

-- 
All philosophy is naïve.




More information about the MPlayer-cygwin mailing list