Building IronRuby


#1

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


#2

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


#3

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


#4

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