Chuck Hall wrote:
I have heard that people are using Wine on Solaris. I would like to know if they are using Wine on the SPARC version or the x86 version of Solaris?
I'm using it on the Sparc version, with Solaris 7 and 8. Winelib only, of course, none of the emulation stuff is going to work on Sparc.
There does seem to be code within Wine to have it run on SPARC machines, but it currently does not seem to compile, at least on the Solaris version.
Right now I'm using an old version of wine circa November 2004, and it needed a few minor fixes to work correctly. I'm in the process of upgrading to the latest & greatest, and unless there are major problems I plan on getting it working sometime this week. In the past, upgrades haven't been too much of a problem. When I get it working, I'll try to get my patches back to the wine-patches list promptly.
I posted my last batch of patches to wine-patches back on 2004-11-17, and I know some of them didn't make it into CVS. I also saw some patches posted to one of the wine lists around 2005-05-07 by Robert Lunnon with titles like "Solaris Compatibility" that you might want to look at. I don't know if his patches were for Sparc or x86, or if they've been accepted.
I have attached a small patch that allows me to get throught the 'make depend' section of the compile. Since it is my first patch, please look at and let me know what I did wrong :) [...] -#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(__APPLE__) +#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(__APPLE__) && !defined(__sparc__)
I haven't tried this with the current code, but in my working version of wine, I didn't make the same change. My port.h contains: === /* Macros to define assembler functions somewhat portably */
#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(__APPLE__) # define __ASM_GLOBAL_FUNC(name,code) \ __asm__( ".text\n\t" \ ".align 4\n\t" \ ".globl " __ASM_NAME(#name) "\n\t" \ __ASM_FUNC(#name) "\n" \ __ASM_NAME(#name) ":\n\t" \ code \ "\n\t.previous" ); #else /* defined(__GNUC__) && !defined(__MINGW32__) && !defined(__APPLE__) */ === I'm not sure how to explain why this isn't working for you. I know we compile with a version of gcc that is configured to use the GNU assembler and GNU linker from binutils. Perhaps yours is using the native Solaris assembler, and it doesn't understand .previous? The assembly portions might only compile correctly with the GNU assembler.
Eric