I am trying to compile Wine CVS to get Protel99SE working, but I am having some difficulty..
For example in dlls/glu32 -> [chowder 16:50] ~/projects/wine-20030813/dlls/glu32 >gmake gcc -c -I. -I. -I../../include -I../../include -I/usr/X11R6/include -D_REENTRANT -fPIC -D__WINESRC__ -Wall -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -o glu.o glu.c ../../tools/winebuild/winebuild -D_REENTRANT -fPIC -D__WINESRC__ -o glu32.dll.dbg.c --debug -C. glu.c gcc -c -I. -I. -I../../include -I../../include -I/usr/X11R6/include -D_REENTRANT -fPIC -D__WINESRC__ -Wall -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -o glu32.dll.dbg.o glu32.dll.dbg.c ld -r glu.o glu32.dll.dbg.o -o glu32.dll.tmp.o strip --strip-unneeded glu32.dll.tmp.o ../../tools/winebuild/winebuild -D_REENTRANT -fPIC -D__WINESRC__ -o glu32.spec.c --spec ./glu32.spec glu32.dll.tmp.o -L../../dlls gcc -c -I. -I. -I../../include -I../../include -I/usr/X11R6/include -D_REENTRANT -fPIC -D__WINESRC__ -Wall -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -o glu32.spec.o glu32.spec.c gcc -shared -Wl,-Bsymbolic,-z,defs glu32.spec.o glu.o glu32.dll.dbg.o -o glu32.dll.so -L../../dlls -L../../libs/wine -lwine -L/usr/X11R6/lib -lSM -lICE -lXxf86dga -lXxf86vm -lXv -lXext -lX11 -lGL -lGLU -L../../libs/port -lwine_port -L/usr/local/lib -lm -Wl,-rpath,/usr/local/lib/wine -lc /usr/lib/libgcc.a(_eh.o): In function `__empty': _eh.o(.text+0x9e): undefined reference to `pthread_setspecific' /usr/lib/libgcc.a(_eh.o): In function `__get_eh_info': _eh.o(.text+0xec): undefined reference to `pthread_key_create' _eh.o(.text+0x1b9): undefined reference to `pthread_getspecific' _eh.o(.text+0x1d8): undefined reference to `pthread_setspecific' /usr/lib/libgcc.a(frame.o)(.text+0x44b): undefined reference to `pthread_mutex_lock' /usr/lib/libgcc.a(frame.o)(.text+0x492): undefined reference to `pthread_mutex_unlock' /usr/lib/libgcc.a(frame.o): In function `__register_frame_info': frame.o(.text+0x8d9): undefined reference to `pthread_mutex_lock' frame.o(.text+0x900): undefined reference to `pthread_mutex_unlock' /usr/lib/libgcc.a(frame.o): In function `__register_frame_info_table': frame.o(.text+0x969): undefined reference to `pthread_mutex_lock' frame.o(.text+0x990): undefined reference to `pthread_mutex_unlock' /usr/lib/libgcc.a(frame.o): In function `__deregister_frame_info': frame.o(.text+0x9dc): undefined reference to `pthread_mutex_lock' frame.o(.text+0xa27): undefined reference to `pthread_mutex_unlock' frame.o(.text+0xa4d): undefined reference to `pthread_mutex_unlock' gmake: *** [glu32.dll.so] Error 1
This happens in a number of dll compiles, the only way I have found to work around it is to comment out the line 'LDDLLFLAGS = -Wl,-Bsymbolic,-z,defs'
After changing those I now get -> [chowder 17:14] ~/projects/wine-20030813/dlls/winmm/winearts >gmake ../../../tools/winebuild/winebuild -D_REENTRANT -fPIC -D__WINESRC__ -o winearts.drv.spec.c --spec ./winearts.drv.spec winearts.drv.tmp.o -L../../../dlls -lwinmm -luser32 -lkernel32 gcc -c -I. -I. -I../../../include -I../../../include -I/usr/local/include/artsc -D_REENTRANT -fPIC -D__WINESRC__ -Wall -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith -g -o winearts.drv.spec.o winearts.drv.spec.c gcc -shared -Wl,-Bsymbolic,-z,defs winearts.drv.spec.o arts.o audio.o winearts.drv.dbg.o -o winearts.drv.so -L../../../dlls -L../../../libs/wine -lwine -L/usr/local/lib -lartsc -pthread -L../../../libs/uuid -lwine_uuid -L../../../libs/port -lwine_port -L/usr/local/lib -lm -Wl,-rpath,/usr/local/lib/wine -lc audio.o: In function `wodDsGuid': /home/darius/projects/wine-20030813/dlls/winmm/winearts/audio.c:1422: undefined reference to `DSDEVID_DefaultPlayback' gmake: *** [winearts.drv.so] Error 1
So I comment that out :) Now I get ->
make[1]: Leaving directory `/usr/home/darius/projects/wine-20030813/include' gmake[1]: Entering directory `/usr/home/darius/projects/wine-20030813/miscemu' gcc -o wine -Wl,--section-start,.interp=0x3c000100 main.o -L../dlls -lntdll.dll -L../libs/wine -lwine -L../libs/unicode -lwine_unicode -L../libs/port -lwine_port -L/usr/local/lib ../dlls/libntdll.dll.so: undefined reference to `InterlockedCompareExchange' ../dlls/libntdll.dll.so: undefined reference to `InterlockedExchangeAdd' gmake[1]: *** [wine] Error 1 gmake[1]: Leaving directory `/usr/home/darius/projects/wine-20030813/miscemu' gmake: *** [miscemu] Error 2
Any patches happily tested :)