[MPlayer-cygwin] compilation problems (etc/inttypes.h clashes with /usr/include/sys/types.h)

Diego Biurrun diego at biurrun.de
Mon Nov 11 13:06:00 CET 2002


Hi!

I just reinstalled Cygwin afresh and gave MPlayer a new try.  I 
eventually got it to compile, but I had to tweak my system configuration 
a bit.

After copying etc/inttypes.h to /usr/include/inttypes.h configure 
complains about conflicting type definitions:


Administrator at SILVER ~/main
$ ./configure --disable-mpdvdkit --disable-win32 --disable-gl 
--disable-ossaudi
o --disable-tv --disable-streaming
Detected operating system: CYGWIN
Detected host architecture: i386
Checking for gcc version ... 3.2, ok
In file included from TOOLS/cpuinfo.c:9:
/usr/include/inttypes.h:9: conflicting types for `int8_t'
/usr/include/sys/types.h:135: previous declaration of `int8_t'
/usr/include/inttypes.h:11: conflicting types for `int32_t'
/usr/include/sys/types.h:139: previous declaration of `int32_t'


I first tried to resolve this by commenting out the int8_t and int32_t 
definitions in /usr/include/inttypes.h (from the MPlayer source tree), 
but compilation would eventually fail.  Next I commented out the int8_t 
and int32_t definitions in /usr/include/sys/types.h, like this:


#ifdef __MS_types__
typedef unsigned long vm_offset_t;
typedef unsigned long vm_size_t;

#define __BIT_TYPES_DEFINED__

// typedef char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
// typedef int int32_t;
typedef unsigned int u_int32_t;
typedef long long int64_t;
typedef unsigned long long u_int64_t;
// typedef int32_t register_t;
#endif /* __MS_types__ */


And lo and behold, MPlayer compiles and runs..
(today's Cygwin, gcc 3.2)

Did anybody else have this problem?  Is there a cleaner solution for 
this?  And what is the real problem, I don't really know what I did there..

Diego




More information about the MPlayer-cygwin mailing list