[Bug 3010] New: wine-20050524 fails to compile (syntax error before "struct")

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Bug 3010] New: wine-20050524 fails to compile (syntax error before "struct")

Wine - Bugs mailing list
http://bugs.winehq.org/show_bug.cgi?id=3010

           Summary: wine-20050524 fails to compile (syntax error before
                    "struct")
           Product: Wine
           Version: CVS
          Platform: PC
               URL: http://bugs.gentoo.org/show_bug.cgi?id=94272
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: wine-multimedia
        AssignedTo: [hidden email]
        ReportedBy: [hidden email]


this is a bug forward from the Gentoo bugzilla

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"
make[2]: *** [audio.o] Error 1

Ed Catmur tracked this back to the wine header files conflicting with the alsa
header files ... include/objbase.h defines 'interface' to 'struct' and newer
alsa header files have a prototype which utilizes 'interface' as a parameter:
int snd_names_list(const char *interface, snd_devname_t **list);

so if the alsa header files are included after objbase.h, the prototype becomes:
int snd_names_list(const char *struct, snd_devname_t **list);

and everything goes boom

Ed Catmur suggested this simple fix (just include the alsa files earlier):
http://bugs.gentoo.org/attachment.cgi?id=60010

--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.