Building IronRuby

I’ve just gotten the latest ironruby bits from github and cannot
build. Using Merlin\Main\Languagues\Ruby\IronRuby.sln:

  • Can’t open the Microsoft.Scripting project because it imports from
    “Merlin\Main\Support\SpecSharp.targets” which is not in the repo.
  • Cryptographic failures when building because
    “Support\MSSharedLibKey.snk” does not exist.

Removing the import statement from
“Merlin\Main\Runtime\Microsoft.Scripting\Microsoft.Scripting.csproj”
and creating a fake SNK file in the appropriate directory lets me get
further, but I still can’t build:

  • ‘IronRuby.Compiler.Methods’ is inaccessible due to its protection
    leve
    Merlin\Main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerator.cs
    29 77

  • ‘IronRuby.Runtime.Calls.BlockDispatcher’ does not contain a
    definition for ‘MaxBlockArity’
    Merlin\Main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerator.cs
    102 59

Basically a bunch of internal definitions look like they should be
public. Am I missing something or did a bad commit slip through?

Justin

Can you try command line? From Merlin\Main\Languages\Ruby, run “set
MERLIN_ROOT=Path\To\Merlin\Main”, then run “rake compile”. I will try to
have SpecSharp.targets moved in the next couple of pushes.

Tomas: Do we still need the second copy of SpecSharp.targets in
Merlin/Main/Languages/Ruby? Also, can I delete IronRuby.sln (leaving
only Ruby.sln). If we don’t need the SpecSharp.targets, I’ll move it
from Support back to Main, delete the one in Ruby and update references.

JD

FYI, Jim (I believe) and I are starting to work out of Git primarily, so
we’ll be forced to iron out these kinks. Also, preserving commit
information between git and tfs is a goal, so no more of the “sync with
tfs” commits … you’ll see the actual msg/author … and we’ll have to
get a reliable continuous integration server.

Just a heads up that though it’s painful now, it’s going to get much
better soon, and everyone to be on the same playing field.

~js

Thanks for the hint - I am able to build from the command line.