[Ironruby-core] building on OSX

M. David Peterson m.david at xmlhacker.com
Mon Feb 4 08:39:35 EST 2008

On Sun, 03 Feb 2008 13:14:28 -0700, Ivan Porto Carrero  
<ivan at flanders.co.nz> wrote:

> ok .. I'll keep trying then until I get a working mono version. Haven't  
> done much testing with mono but I did run the minimal test suite before  
> installing.
> If I compile on windows and use the binaries there is no problem.

Are you compiling with both --with-preview=yes and --with-moonlight=yes ?

Actually, I think they both are set to yet by default, but if you're  
building from SVN you'll need to checkout not only the mono directory but  
olive, moon, mcs, and (possibly) gtk-sharp as well.  You've already got  
mono checked out, so if you enter the same directory that the mono  
directory is contained in and run,

svn co  

... to then svn up mono you can then enter the mono directory and run,

./autogen.sh --with-preview=yes --with-moonlight=yes [additional options  
(such as --prefix)]

NOTE: I realize I mentioned that I believe both of these values are yes by  
default, but it doesn't hurt so it's worth adding them just in case.

If that script finishes without erroring out then run,

make; sudo make install

If it does error out there's a good chance it's going to be one of several  

1) The existing DMG-based installation is getting in the way.  I would  
move /Library/Frameworks/Mono.framework (if you don't see it there, try  
~/Library/Frameworks/Mono.framework) to another directory to ensure you're  
not running into a problem with the build process linking against the  
wrong libraries.
2) The generated ./configure file will have a few lines that autotools  
will claim to be invalid syntax.  If you see this problem, just open the  
./configure file, go to the specified line, and comment it out.   
IMPORTANT!: Don't rerun ./autogen.sh at this point.  It will write over  
the previous generated ./configure file and cause the same error to occur.

At this stage of the game you'll then want to run,

./configure --with-preview=yes --with-moonlight=yes [additional options  
(such as --prefix)]; make; sudo make install

At this point you're system should be completely up-to-date with all of  
the latest code that is specific to the needs of the DLR and DLR-based  
languages.  That doesn't mean it's guaranteed to compile and work, but  
I've yet to find a situation unrelated to System.Windows.Forms that didn't  
work on OS X if it worked on Linux.  It sometimes takes a bit of hacking  
the build process, but it usually works out in the end. :D

That said, given the IronRuby and the DLR are moving targets, there's no  
guarantee you're not going to run into issues.  But in my own experience,  
the Mono team places an extremely high importance on bugs related to the  
Iron* projects and the DLR.  Often times there's a fix checked into SVN  
within a few hours of filing the report.

Hope this helps!


M. David Peterson
Co-Founder & Chief Architect, 3rd&Urban, LLC
Email: m.david at 3rdandUrban.com | m.david at amp.fm
Mobile: (206) 418-9027
http://3rdandUrban.com | http://amp.fm |  

More information about the Ironruby-core mailing list