http://bugs.winehq.org/show_bug.cgi?id=11463
Summary: conflicting types between Wine list.h and Solaris list.h in server/fd.c Product: Wine Version: 0.9.54. Platform: PC OS/Version: Solaris Status: UNCONFIRMED Severity: normal Priority: P2 Component: wineserver AssignedTo: wine-bugs@winehq.org ReportedBy: petr.sumbera@sun.com
Compilation on Solaris (i86pc, Nevada build 78) fails due clashes between:
wine/include/wine/list.h and /usr/include/sys/list.h
Following is compilation error output:
gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -I/usr/sfw/include -I/usr/X11R6/include -I/usr/sfw/include -I/usr/X11R6/include -o event.o event.c gcc -c -I. -I. -I../include -I../include -D__WINESRC__ -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -I/usr/sfw/include -I/usr/X11R6/include -I/usr/sfw/include -I/usr/X11R6/include -o fd.o fd.c In file included from object.h:30, from fd.c:76: ../include/wine/list.h:25: error: redefinition of `struct list' ../include/wine/list.h:97: error: conflicting types for 'list_remove' /usr/include/sys/list.h:48: error: previous declaration of 'list_remove' was here ../include/wine/list.h:97: error: conflicting types for 'list_remove' /usr/include/sys/list.h:48: error: previous declaration of 'list_remove' was here ../include/wine/list.h:104: error: conflicting types for 'list_next' /usr/include/sys/list.h:53: error: previous declaration of 'list_next' was here ../include/wine/list.h:104: error: conflicting types for 'list_next' /usr/include/sys/list.h:53: error: previous declaration of 'list_next' was here ../include/wine/list.h:112: error: conflicting types for 'list_prev' /usr/include/sys/list.h:54: error: previous declaration of 'list_prev' was here ../include/wine/list.h:112: error: conflicting types for 'list_prev' /usr/include/sys/list.h:54: error: previous declaration of 'list_prev' was here ../include/wine/list.h:120: error: conflicting types for 'list_head' /usr/include/sys/list.h:51: error: previous declaration of 'list_head' was here ../include/wine/list.h:120: error: conflicting types for 'list_head' /usr/include/sys/list.h:51: error: previous declaration of 'list_head' was here ../include/wine/list.h:126: error: conflicting types for 'list_tail' /usr/include/sys/list.h:52: error: previous declaration of 'list_tail' was here ../include/wine/list.h:126: error: conflicting types for 'list_tail' /usr/include/sys/list.h:52: error: previous declaration of 'list_tail' was here ../include/wine/list.h:153: warning: static declaration of 'list_move_tail' follows non-static declaration /usr/include/sys/list.h:49: warning: previous declaration of 'list_move_tail' was here gmake[1]: *** [fd.o] Error 1 gmake[1]: Leaving directory `/data/home/petr/wine-0.9.54/server' gmake: *** [server] Error 2
---
To workaround this I'm avoiding sys/vfs.h in server/fd.c (ugly hack):
--- wine-0.9.54/server/fd.c.orig Mon Feb 4 17:28:14 2008 +++ wine-0.9.54/server/fd.c Mon Feb 4 17:28:57 2008 @@ -43,7 +43,7 @@ #ifdef HAVE_SYS_STATVFS_H #include <sys/statvfs.h> #endif -#ifdef HAVE_SYS_VFS_H +#ifdef HAVE_SYS_VFS_HXXX #include <sys/vfs.h> #endif #ifdef HAVE_SYS_PARAM_H
---
Otherwise Wine compiles (and runs) well for me.