http://bugs.winehq.org/show_bug.cgi?id=12008
Summary: wined3d dll changes in 0.9.57 broke Solaris gcc build Product: Wine Version: 0.9.57. Platform: PC OS/Version: Solaris Status: UNCONFIRMED Severity: normal Priority: P2 Component: build-env AssignedTo: wine-bugs@winehq.org ReportedBy: petr.sumbera@sun.com
Wine gcc build on Solaris now fails with following error:
../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./wined3d.spec arb_program_shader.o baseshader.o basetexture.o clipper.o context.o cubetexture.o device.o directx.o drawprim.o glsl_shader.o indexbuffer.o palette.o pixelshader.o query.o resource.o state.o stateblock.o surface_base.o surface.o surface_gdi.o swapchain.o texture.o utils.o vertexbuffer.o vertexdeclaration.o vertexshader.o volume.o volumetexture.o wined3d_main.o -o wined3d.dll.so -luser32 -lgdi32 -ladvapi32 -lkernel32 -luuid ../../libs/port/libwine_port.a -lsocket -lnsl Undefined first referenced symbol in file isinf surface_base.o ld: fatal: Symbol referencing errors. No output written to wined3d.dll.so collect2: ld returned 1 exit status winegcc: gcc failed gmake[2]: *** [wined3d.dll.so] Error 2 gmake[2]: Leaving directory `/builds/WINE/wine-0.9.57/dlls/wined3d' gmake[1]: *** [wined3d] Error 2 gmake[1]: Leaving directory `/builds/WINE/wine-0.9.57/dlls' gmake: *** [dlls] Error 2
In Wine 0.9.57 there was for the first time in Wine used function isinf() in following header file source/dlls/wined3d/wined3d_private.h.
There are some problems with this function on Solaris:
http://www.webservertalk.com/archive100-2005-7-1149187.html
Currently on Solaris with gcc compiler macro "isinf" (and others) is defined when __C99FEATURES__ is defined (a.k.a. -std=c99). Note, that Wine as whole cannot be compiled as C99 code as it's using M_PI (which is no longer defined with C99 in math.h).
As workaround Solaris users can use -std=gnu99 as followed:
CFLAGS=-std=gnu99 ./configure
Final resolution should be probably one of these: - configure check for isinf availability and eventually define it itself - enforce C99 build (for at least some Wine parts)
Tested with: Solaris Nevada build 83 gcc 3.4.3 (bundled with Solaris)
http://bugs.winehq.org/show_bug.cgi?id=12008
--- Comment #1 from Timo-Heikki Mäkelä imaxfun@gmail.com 2008-03-12 10:59:37 --- You could add the keyword "regression" in the summary to ensure devs will notice this bug as such.
http://bugs.winehq.org/show_bug.cgi?id=12008
Petr Sumbera petr.sumbera@sun.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=12008
Taras PaladiN@all-in.org.ua changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |PaladiN@all-in.org.ua
--- Comment #2 from Taras PaladiN@all-in.org.ua 2008-03-17 11:25:31 --- Confirming. Got the same bug on SXDE 1/08
http://bugs.winehq.org/show_bug.cgi?id=12008
Taras PaladiN@all-in.org.ua changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #3 from Taras PaladiN@all-in.org.ua 2008-03-17 11:26:58 --- *** This bug has been confirmed by popular vote. ***
http://bugs.winehq.org/show_bug.cgi?id=12008
Petr Sumbera petr.sumbera@sun.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Priority|P2 |P3 Resolution| |FIXED
--- Comment #4 from Petr Sumbera petr.sumbera@sun.com 2008-05-07 09:35:46 --- Fixed in Wine 0.9.61 (port: Add alternative for isinf.)
http://bugs.winehq.org/show_bug.cgi?id=12008
Petr Sumbera petr.sumbera@sun.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Petr Sumbera petr.sumbera@sun.com 2008-05-07 09:39:14 --- fixed in Wine 0.9.61