I built gcc with the recommended options, but still getting similar errors from the assembler pass of winegcc:
../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./d3d8.spec basetexture.o cubetexture.o d3d8_main.o device.o directx.o drawprim.o indexbuffer.o resource.o shader.o stateblock.o surface.o swapchain.o texture.o utils.o vertexbuffer.o volume.o volumetexture.o vshaderdeclaration.o d3d8.dll.dbg.o version.res -o d3d8.dll.so -L../../dlls -L../../dlls/wined3d -L../../dlls/user32 -L../../dlls/gdi32 -L../../dlls/advapi32 -L../../dlls/kernel32 -lwined3d -luser32 -lgdi32 -ladvapi32 -lkernel32 -L../../libs/wine -lwine -ldxguid -luuid -L/usr/openwin/lib -R/usr/openwin/lib -lSM -lICE -lXext -lX11 -lsocket -lnsl -lGL -L../../libs/port -lwine_port -lresolv -lsocket -lnsl /var/tmp//ccfTpCMk.s: Assembler messages: /var/tmp//ccfTpCMk.s:513: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:514: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:515: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:516: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:517: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:518: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:547: Error: unrecognized symbol type "" /var/tmp//ccfTpCMk.s:547: Warning: rest of line ignored; first ignored character is `2' /var/tmp//ccfTpCMk.s:556: Error: unrecognized symbol type "" /var/tmp//ccfTpCMk.s:556: Warning: rest of line ignored; first ignored character is `2' /var/tmp//ccfTpCMk.s:565: Error: unrecognized symbol type "" /var/tmp//ccfTpCMk.s:565: Warning: rest of line ignored; first ignored character is `2' winegcc: gcc failed. gmake[2]: *** [d3d8.dll.so] Error 2 gmake[2]: Leaving directory `/export/home/opt/inst/wine-20050830/dlls/d3d8' gmake[1]: *** [d3d8] Error 2 gmake[1]: Leaving directory `/export/home/opt/inst/wine-20050830/dlls' gmake: *** [dlls] Error 2
This doesnt make sense to me. Here are a few settings on the machine:
$ which gcc /usr/local/bin/gcc $ /usr/local/bin/gcc -v Using built-in specs. Target: i386-pc-solaris2.9 Configured with: ../gcc-4.0.1/configure --with-gnu-as --with-as=/usr/local/bin/as --without-gnu-ld --with-ld=/usr/ccs/bin/ld Thread model: posix gcc version 4.0.1
$ which as /usr/local/bin/as $ /usr/local/bin/as -v GNU assembler version 2.14 (i386-pc-solaris2.9) using BFD version 2.14 20030612
Not sure where to go from here at all. This is VERY frustrating. I am downloading Wine-20050930 to try that
<snip>
You have a ways to go, Wine needs a gnu toolchain to build in particular I recommend gcc configured to use gas for assembly and solaris ld for linking. This is the way Sun set up the gcc that comes with Solaris 10 - Thank you Sun, saves me building my own gcc ! You cant just link gas to replace as since the gcc compiler driver will pass it the wrong flags. Go the hard yards and build your gcc the right way.
Anyway, I have a sysv Binary package of 25072005 ready to go once I finish negotiating the hosting space for it on blastwave. Must admit this is for Solaris 10 though. Solaris 9 is more problematic for late versions since there are significant differences in Solaris 9 and 10 interfaces upon which Wine depends. Solaris 9 threading can be a bit unstable with Wine, but Solaris 10 threads appear rock stable. I *can* produce a solaris 9 version but I only have one build system, its a very manual process and there is not much demand - you are the first to ask.
After I've set up the new website I intend to automate a weekly build of the Solaris 10 version for those who like to be at the bleeding edge.
Bob