In short, it's not working for me but I'm willing to keep trying and document my experiences if I can get some help from the Mono developer community. I apologize for the lengthy post but I figured that I might as well be thorough.
Background: I have been wrestling with trying to compile various versions of Mono. After a good deal of trouble, I managed to build v2.0.1 on my Solaris 10 SPARCv9 machine. It has issues (i.e. bugs in Mono), but I think the build itself was successful. I believe many of my issues have been fixed in later Mono fixes, but thus far I have been unable to build Mono v2.2, v126637, and v2.4 RC2. I'm hoping to be able to utilize v2.4 when it's released but if I can't compile the RC2, obviously I'll have an issue when v2.4 becomes official. If it's a bug with me, I could certainly use some help. If it's a bug in Mono, I need some help finding it so hopefully it can be fixed before v2.4 is released later this month. I hope to document all the issues and fixes that I've encountered thus far - the documentation for building Mono on Solaris is very scattered, but I'd hate to conclude mine with "but in the end it doesn't work". Problem: 'Configure' succeeds and 'make' gets all the way to where it compiles System.dll (with warning 'System.dll build without parts that don't depend on: System.Xml.dll'. I then get "MCS [basic] System.dll", and then the annoying "GC Warning: Large stack limit(...): only scanning 8 MB" warning. It's followed by a 'Compilation succeeded - 13 warnings(s)' message which tells me that it finished System.dll. It then tries working on System.Xml.dll after doing what looks like some lexer tree reductions (messages like 3 rules never reduced, 1 shift-reduce conflict, etc) and then the "MCS [basic] System.Xml.dll" message. This is the last thing I see. I can wait for over 16 hours and nothing happens, other than prstat reporting that 'mono' has used 16+ hours of CPU time. It gives an '.../class/lib/basic/System.Xml.dll] Error 130' message after I kill it but that is just from me interrupting it. For some reason, the build process is either unable to compile System.Xml.dll, or it runs something that hangs. I don't see any 'compilation succeeded' message like with System.dll so I assume it's the former. But it was able to compile System.dll so why can't it compile System.Xml.dll? As what may be an important side-note, my previous brick wall was with build/deps/basic-profile-check.exe. I was able to get past this issue but I think it's probably the same problem as above, or at least related, so I thought it best to mention it: 'Configure' succeeds and 'make' gets all the way to where it enters the mcs directory. I get the "The compiler 'mcs' doesn't appear to be usable. Trying the 'monolite' directory." message and then it seems to re-try compiling and/or running basic-profile-check.exe and I've waiting over 16 hours and nothing else happens - it's hung. When I kill it, it says "[build/deps/basic-profile-check.exe] Error 127", and then gives an Error 130 but that's just from my interrupting it. For some reason, the build process is either unable to compile basic-profile-check.exe or when it runs it, it hangs. My guess is the former. Either way, if I add my Mono v2.0.1 bin directory to my path, it's able to get past this problem - but then hangs on System.Xml.dll per above. What Didn't Work: First, note that my system does not have access to the Internet. Things like 'make get-mono-latest' don't work for me. Regardless, I now have a rather complete GNU bin directory that I've compiled myself, including GCC v3.4.3, TAR v1.21, ar, as, grep, ranlib, strip, ld, etc. I've renamed the 'mcs' file native to Solaris to something else. I've replaced the "-mt" option in gthread-2.0.pc with -D_REENTRANT. I'm including a copy of libgdiplus v2.4 that I built, although I understand that's just needed for System.Drawing to work. I've tried including and not including my v2.0.1 bin and lib in my environment to no avail. I've tried various combinations of configure options such as these: --disable-dtrace --with-gc=none --with-sigaltstack=no --with-ikvm-native=no --disable-mcs-build. The summary at the end of Configure confirms that these work (i.e. I was previously using signaltstack=no...), and "TLS: pthread", which I believe was auto-detected correctly. I'm using "ulimit -Hs 10240" now but it doesn't seem to be doing anything. I've tried using monolite from mono-project.org and adding that to my path. I've even tried letting the _tmpinst directory get created and then editing the scripts in it to point to my Mono v2.0.1 files instead of the build ones. I have read that others have succeeded on Solaris 10 SPARC, so thus far I've avoid making any code changes to the source, but as of this post that's my next step as I can't think of any other avenues. Nothing seems to let me get past this problem - any ideas? -- View this message in context: http://www.nabble.com/Compiling-Mono-v2.4-RC2-%28Solaris-10-SPARCv9%29-tp22587130p22587130.html Sent from the Mono - Dev mailing list archive at Nabble.com.
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list