Rake error with IronRuby on Mono - PathName2 / System.dll

Hi All,

I’m following Aslak’s instructions here to get IronRuby running on
Mono/OSX.

http://wiki.github.com/aslakhellesoy/cucumber/ironruby-and-mono

I’m getting a failure when I do the “rake compile mono=1” that it can’t
find
the pathname2 gem. Looking back on the list, I saw that was resolved by
installing the pathname2, which I tried, and I also tried the “gem
install
-y pathname2” trick I saw on the list. What that got me was what is
below. I
did some more research and couldn’t find what was going on, so I thought
I’d
ask the list before I got too much further. Any ideas?

cory-foys-macbook-pro:ironruby foyc$ rake -v compile mono=1 --trace(in
/Users/foyc/Workspace/ironruby)
/Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/Scripts/irtests.rb:92:
warning: don’t put space before argument parentheses
** Invoke compile (first_time)
** Invoke happy (first_time)
** Execute happy
** Invoke clean_build (first_time)
** Invoke happy
** Execute clean_build
** Invoke compile:dlr (first_time)
** Invoke compile:extension_attributes (first_time)
** Invoke clean_build
** Execute compile:extension_attributes

dlr_extension

rake aborted!
cannot resolve path System.dll
/Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:96:in
resolve_framework_path' /Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:95:in each’
/Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:95:in
resolve_framework_path' /Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:136:in resolve_framework_path’
/Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:339:in
resolve_framework_path' /Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:351:in references’
/Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:349:in
each' /Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:349:in references’
/Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:279:in
compile' /Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:277:in chdir’
/Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/context.rb:277:in
compile' /Users/foyc/Workspace/ironruby/Merlin/Main/Languages/Ruby/rake/compile.rake:24 /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in call’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in
execute' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in
execute' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in invoke_with_call_chain’
/usr/local/lib/ruby/1.8/monitor.rb:238:in synchronize' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in invoke_with_call_chain’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in
invoke_prerequisites' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
invoke_prerequisites' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in invoke_with_call_chain’
/usr/local/lib/ruby/1.8/monitor.rb:238:in synchronize' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in invoke_with_call_chain’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in
invoke_prerequisites' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in
invoke_prerequisites' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in invoke_with_call_chain’
/usr/local/lib/ruby/1.8/monitor.rb:238:in synchronize' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in invoke_with_call_chain’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in invoke' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in invoke_task’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in
top_level' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in
top_level' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in standard_exception_handling’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in
top_level' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in run’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in
standard_exception_handling' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in run’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
/usr/local/bin/rake:19:in `load’
/usr/local/bin/rake:19

cory-foys-macbook-pro:ironruby foyc$ mono --version
Mono JIT compiler version 2.6.1 (tarball Thu Dec 17 10:19:23 MST 2009)
Copyright (C) 2002-2008 Novell, Inc and Contributors.
www.mono-project.com
TLS: normal
GC: Included Boehm (with typed GC)
SIGSEGV: normal
Notification: Thread + polling
Architecture: x86
Disabled: none

cory-foys-macbook-pro:ironruby foyc$ rake --version
rake, version 0.8.7

cory-foys-macbook-pro:ironruby foyc$ ruby --version
ruby 1.8.6 (2007-03-13 patchlevel 0) [universal-darwin8.0]

Cory

It’s a pitty those instructions are around because they are really
outdated

you can get a mono built binary for RC2 here:
http://dl.dropbox.com/u/21717/ironruby-rc2.tar.bz2

if you want to build on mono and get a few launcher scripts you can use
my
linux branch from
git://github.com/casualjim/ironruby.git

to compile:
cd ironruby
./build

The rake build requires ruby 1.8

Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Microsoft IronRuby/C# MVP

Hi Ivan,

Ivan Porto C. wrote:

to compile:
cd ironruby
./build

The rake build requires ruby 1.8

I got the exact same Pathname2 error - I did a git clone from your repo
and did a rake. Any thoughts?

But the binary seems to be working fine, so that will be a good start.

Thanks!

Cory

don’t do rake try using the ./build script

it sets an environment variable MERLIN_ROOT

you need ruby 1.8.x to build it and you need to install the pathname2
gem

Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C. - Mob: +32.486.787.582
Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Microsoft IronRuby/C# MVP