[Mono-dev] Compiling Mono v2.4 RC2 (Solaris 10 SPARCv9)

Thracx SpamMonkey01+Mono at gmail.com
Wed Mar 18 15:50:06 EDT 2009

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


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".


'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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090318/8059056e/attachment.html 

More information about the Mono-devel-list mailing list