[Mono-list] Mono on NetBSD and problems compiling corlib

Scott Aaron Bamford sab@zeekuschrist.com
Sat, 4 Jan 2003 00:03:29 +0000


Hi,
	I've found some more time again now that the festive season is over and carried on with getting mono working on NetBSD.  I've had a fair bit of success and although there are a couple of problems (coredumps for example) I've got my hacked version of the 0.17 runtime (mono and mint) running on NetBSD/i386.

I've used the suse packages to provide the runtime libraries, mcs.exe and friends to bootstrap the cvs version, reapplying all the patches to the runtime etc.  (This is where it gets a little more interesting) now, mono and corlib must be in sync, so before I can install the current version I need to compile corlib, I can get mono (and mint) to run mcs.exe and produce executables that can be run both in mono, mint, and in DotGNU's ilrun.  Also I can get mono and mint to run programs compiled with DotGNU's cscc.  mcs.exe can bootstrap a useable version of itself, of mbas etc, so the runtime changes are (almost) complete, but I've run into a problem with three parts of the libariries:
corlib
System.Web
System.Windows.Forms

These are the largest directorys in the build tree it seems, and when compiling these packages I get:

[1]   Trace/BPT trap (core dumped) MONO_PATH= mono ...
gmake: *** [../../class/lib/corlib.dll] Error 133

I've tried upping the ulimits to the maximum etc, and using mint instead of mono.  Still the same error occurs.  FYI at the time it occurs about 150mbs of memory are being used.

I'd like to work around this, or better still fix the problem!  Has anyone come across this before on another OS?  Any ideas on how to attack this?  Is it posible to split the build processes into smaller chunks and stick them back together again, aka cc -c style?

Cheers for your help, FYI the changes to the runtime mostly resolve around semephores being switched to pthreads, and a couple of unportable constructs, theres a good chunk of code but certainly not much more than a molehill comparativly.  Once I finetune and fix the coredump (which happens when mono/mint is shutting down) I'll submit the patches.  Would someone be so good as to tell me the procedure for doing this?  Last time I submited them to the list, but either people didn't notice or choose not to use (which is fine), so just want to make sure I DTRT with these so they don't get lost.  BTW I plan on using mono quite a bit and regually, all the machines I use regually at home run NetBSD, I'll be quite happy to maintain these and any other changes that are needed to keep mono running on NetBSD out of the box, and will probably look at NetBSD pkgsrcing the next release and thereafter (once all these changes are back in the main code).  Ta, sorry for the rambling on that happened a bit (:.

	- Scott

                                             &
         _.-'"''--..___.("\-''-'")           i         . O
 ('.__.' .(     )  .-'   (   6_6'  -------- |#| ------ o -  ,,'''''', ------- 
  '-..-'' .' _.' (   -.   '(._Y_)       ____| |____    .  ,'         ) ,',   |
 |        ', '._  \  \_-.._ `--'.._    | # #: :# # |     (  O  <<<<<  ' <    |
 |          '-.!)) '.(il)   ''-.(li)   | # _____ # |      ',,     ,,,) ','   |
 |                                     |___ilili___|         ',,,'           |
  ----- sab@zeekuschrist.com ------------------------- sab@posix.org.uk -----