Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 94272 - wine-20050524 fails to compile (syntax error before "struct")
Summary: wine-20050524 fails to compile (syntax error before "struct")
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High blocker (vote)
Assignee: Wine Maintainers
URL: http://bugs.winehq.org/show_bug.cgi?i...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-28 05:20 UTC by Ernst de Haan
Modified: 2005-05-28 22:27 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
wine-20050524-alsa-includes.patch (wine-20050524-alsa-includes.patch,612 bytes, patch)
2005-05-28 06:31 UTC, Ed Catmur
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ernst de Haan 2005-05-28 05:20:12 UTC
make[2]: Entering directory
`/var/tmp/portage/wine-20050524/work/wine-20050524/dlls/winmm/winearts'
i686-pc-linux-gnu-gcc -c -I. -I. -I../../../include -I../../../include 
-D__WINESRC__   -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2
-fno-strict-aliasing -gstabs+ -Wpointer-arith  -O2 -march=pentium4 -o arts.o arts.c
i686-pc-linux-gnu-gcc -c -I. -I. -I../../../include -I../../../include 
-D__WINESRC__   -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2
-fno-strict-aliasing -gstabs+ -Wpointer-arith  -O2 -march=pentium4 -o audio.o
audio.c
In file included from /usr/include/alsa/asoundlib.h:48,
                 from alsa.h:23,
                 from audio.c:63:
/usr/include/alsa/conf.h:189: error: syntax error before "struct"
i686-pc-linux-gnu-gcc -c -I. -I. -I../../../include -I../../../include   
-D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 -fno-strict-aliasing
-gstabs+ -Wpointer-arith  -O2 -march=pentium4 -o testlist.o testlist.c
make[2]: *** [audio.o] Error 1
make[2]: Leaving directory
`/var/tmp/portage/wine-20050524/work/wine-20050524/dlls/winmm/winealsa'
make[1]: *** [winmm/winealsa] Error 2
../../../tools/winebuild/winebuild -D__WINESRC__   -o winearts.drv.dbg.c --debug
-C. arts.c audio.c
make[1]: *** Waiting for unfinished jobs....
i686-pc-linux-gnu-gcc -c -I. -I. -I../../../include -I../../../include 
-D__WINESRC__   -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2
-fno-strict-aliasing -gstabs+ -Wpointer-arith  -O2 -march=pentium4 -o
winearts.drv.dbg.o winearts.drv.dbg.c
../../../tools/winegcc/winegcc -B../../../tools/winebuild -shared
./winearts.drv.spec    arts.o audio.o  winearts.drv.dbg.o   -o winearts.drv.so
-L../../../dlls -L../../../dlls/winmm -L../../../dlls/user32
-L../../../dlls/kernel32 -lwinmm -luser32 -lkernel32  -L../../../libs/wine
-lwine -ldxguid -luuid -L../../../libs/port -lwine_port
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
make[2]: Leaving directory
`/var/tmp/portage/wine-20050524/work/wine-20050524/dlls/winmm/winearts'
../../../tools/winegcc/winegcc -B../../../tools/winebuild -mconsole clist.o
clsid.o generated.o ordinal.o path.o shreg.o string.o testlist.o  -o
shlwapi_test.exe.so -L../../../libs/port -lwine_port -L../../../dlls
-L../../../dlls/shlwapi -L../../../dlls/advapi32 -L../../../dlls/ole32
-L../../../dlls/oleaut32 -L../../../libs -lshlwapi -ladvapi32 -lole32 -loleaut32
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
make[3]: Leaving directory
`/var/tmp/portage/wine-20050524/work/wine-20050524/dlls/shlwapi/tests'
i686-pc-linux-gnu-gcc -c -I. -I. -I../../include -I../../include  -D__WINESRC__
 -D_SHLWAPI_ -D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2
-fno-strict-aliasing -gstabs+ -Wpointer-arith  -O2 -march=pentium4 -o
shlwapi.dll.dbg.o shlwapi.dll.dbg.c
../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./shlwapi.spec   
assoc.o clist.o istream.o msgbox.o ordinal.o path.o reg.o regstream.o
shlwapi_main.o stopwatch.o string.o thread.o url.o wsprintf.o  shlwapi.dll.dbg.o
shlwapi.res  -o shlwapi.dll.so -L../../dlls -L../../dlls/oleaut32
-L../../dlls/ole32 -L../../dlls/user32 -L../../dlls/gdi32 -L../../dlls/advapi32
-L../../dlls/kernel32 -L../../dlls/ntdll -loleaut32 -lole32 -luser32 -lgdi32
-ladvapi32 -lkernel32 -lntdll -Wb,-doleaut32 -L../../libs/wine -lwine -luuid
-L../../libs/unicode -lwine_unicode -L../../libs/port -lwine_port
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
make[2]: Leaving directory
`/var/tmp/portage/wine-20050524/work/wine-20050524/dlls/shlwapi'
make[1]: Leaving directory `/var/tmp/portage/wine-20050524/work/wine-20050524/dlls'
make: *** [dlls] Error 2

Reproducible: Always
Steps to Reproduce:
1. ACCEPT_KEYWORDS=~x86 emerge wine

Actual Results:  
See details.


Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.3.4, glibc-2.3.5-r0,
2.6.11-gentoo-r9 i686)
=================================================================
System uname: 2.6.11-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System version 1.6.12
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.1-r2
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.16
sys-devel/libtool:   1.5.18
virtual/os-headers:  2.6.11
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown
/usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/
ftp://ftp.easynet.nl/mirror/gentoo/
http://ftp.snt.utwente.nl/pub/os/linux/gentoo
ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo
http://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo/
ftp://mirror.nutsmaas.nl/gentoo/"
LINGUAS="en nl"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aalib alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl debug
directfb divx4linux dvd dvdr emboss encode esd fam fbdev flac foomaticdb fortran
gdbm gif gphoto2 gpm gtk2 imagemagick imlib java javamail jpeg junit kde
kdeenablefinal libg++ libwww live mad mikmod mmx motif mozdevelop mozilla
moznocompose moznoirc moznomail mozsvg mp3 mpeg nas ncurses network nls nvidia
ogg oggvorbis opengl oss pam pdflib perl png ppds python qt quicktime readline
rtc slang speex spell sse ssl tcltk tcpd tiff truetype truetype-fonts
type1-fonts usb vorbis xine xinerama xml xml2 xmms xv zlib linguas_en linguas_nl
userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 1 Ed Catmur 2005-05-28 06:03:52 UTC
gcc -E shows that the offending line /usr/include/alsa/conf.h:189:

int snd_names_list(const char *interface, snd_devname_t **list);

is preprocessed to

int snd_names_list(const char *struct, snd_devname_t **list);

Evidently something somewhere is #defining "interface" to "struct".
Comment 2 Ed Catmur 2005-05-28 06:27:58 UTC
Found it:

/var/tmp/portage/wine-20050524/work/wine-20050524/include/objbase.h:#define
interface struct

Looks like this has been in wine forever; I think the trigger is actually the
recent alsa-lib release of media-libs/alsa-lib-1.0.9, viz this commit:
http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-lib/include/conf.h?r1=1.40&r2=1.41

I guess the best workaround is to reorder includes so that alsa stuff gets
included before interface gets #defined. Patch to follow.
Comment 3 Ed Catmur 2005-05-28 06:31:44 UTC
Created attachment 60010 [details, diff]
wine-20050524-alsa-includes.patch

Reorder includes to include alsa headers before offending #define encountered.

Probably wants upstreaming; I can't see this bug on the Wine bugzilla.
Comment 4 SpanKY gentoo-dev 2005-05-28 20:48:23 UTC
thanks Ed, forwarded bug upstream and added patch to portage
Comment 5 SpanKY gentoo-dev 2005-05-28 20:56:52 UTC
*** Bug 94329 has been marked as a duplicate of this bug. ***