[Ironruby-core] Trouble building from Visual Studio (git repo)

Terence Lewis lewistm at gmail.com
Mon Dec 8 18:01:07 EST 2008


Hello,

First let me apologise for the length of this mail - it's not quite as long
as it looks, a lot of the text is error messages :(

Anyway, I can now build from rake compile, however I'm having trouble
building from Visual Studio 2008 SP1.

The first thing that it complains about is something to do with
SpecSharp.targets. I managed to work-around this by copying this file from
\merlin\main\Languages\Ruby to \merlin\main.
After doing this, I got an error about Microsoft.Scripting.dll meta-data
file not being found (with FxCop in the path), but changing the build config
file to FxCop and then back to Debug seemed to make this problem go away.
Next, I got a complaint about MSSharedLibKey.snk - I worked around this by
creating a key myself (sn -k MSSharedLibKey.snk) in the folder it was
looking for.
Then when compiling, I get build 3 errors in ReflectionCacheGenerator.cs
(ClassInitGenerator). These are as follows:

Error    1    'IronRuby.Compiler.Methods' is inaccessible due to its
protection level
\merlin\main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerator.cs
line 29
Error    2    'IronRuby.Runtime.Calls.BlockDispatcher' does not contain a
definition for 'MaxBlockArity'
\merlin\main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerator.cs
line 102
Error    3    'IronRuby.Runtime.Calls.BlockDispatcher' does not contain a
definition for 'MaxBlockArity'
\merlin\main\Languages\Ruby\ClassInitGenerator\ReflectionCacheGenerator.cs
line 103

I also get two build errors in IronRuby.Tests:

Error    5    'IronRuby.Compiler.IParserLogger' is inaccessible due to its
protection level
\merlin\main\Languages\Ruby\IronRuby.Tests\Parser\DefaultParserLogger.cs
line 24
Error    6    'IronRuby.Compiler.IParserLogger' is inaccessible due to its
protection level
\merlin\main\Languages\Ruby\IronRuby.Tests\Parser\CoverageParserLogger.cs
line 33


Commenting out errors 2 and 3, and making IronRuby.Compiler.Methods and
IronRuby.Compiler.IParserLogger public allows everything to build except
IronRuby.Tests which then fails with 47 compile errors.

Trying to run Ruby.Console with the code in this condition leads to a
MessageBox with the following:
    Error while trying to run project: Could not load file or assembly 'ir,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=67ede3a51bb28398' or one of
its dependencies. Strong name validation failed. (Exception from HRESULT:
0x8013141A).

Presumably this is because I can't just generate a strong-name key myself? I
then ran sn -Vr using my public key token, and changed two places in
Ruby.Console's app.config file - Microsoft.Scripting and IronRuby to use my
public key token. At this point, running the console doesn't bring up a
message box, but the application does terminate immediately with the
following appearing in the output window:

WEAK_TABLE: IronRuby.Runtime.WeakTable`2[[System.Object, mscorlib, Version=
2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089],[IronRuby.Runtime.RubyInstanceData,
IronRuby, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=67ede3a51bb28398]]
A first chance exception of type 'System.IO.FileLoadException' occurred in
mscorlib.dll
A first chance exception of type 'IronRuby.Builtins.LoadError' occurred in
IronRuby.dll
A first chance exception of type
'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
A first chance exception of type
'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
A first chance exception of type
'Microsoft.Scripting.InvalidImplementationException' occurred in
Microsoft.Scripting.dll

So, when this failed, I tried to copy the only .snk file I could find from
the subversion repository (trunk\src\microsoft.scripting.core\debugkey.snk)
over my manually generated key, but this didn't yield the correct public key
token either (it gives 51c7b9aefdaeb546).

So, now I'm totally stuck. Any help or suggestions will be appreciated.


Regards

Terence


PS, I'm trying to get the build to work out of visual studio so that I can
step through some of the code in the debugger.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20081209/e2d57551/attachment.html>


More information about the Ironruby-core mailing list