[Mono-list] "mscorlib.dll is an invalid CIL image"
Jonathan Pryor
jonpryor at vt.edu
Tue Apr 28 21:40:35 EDT 2009
On Tue, 2009-04-28 at 18:01 -0700, Chris Plasun wrote:
> So the Mono build **does** create a MSCORLIB.DLL?
Yes. The Mono build creates every assembly listed in mcs/class, e.g.
mscorlib.dll, System.dll, System.Core.dll, System.Web.dll, etc.
> I understand that the *.dll/*.exe files are platform independent, but are
> they **architecture** independent? I'm using PowerPC.
Yes.
> It looks like some of the paths are messed up as I can't run monodis
> on the board. I'll have to fix that first.
>
> Monodis on SUSE doesn't report any mscorlib.dll corruption...
>
> I think I need to learn how to cross-build Mono myself, no?
>
> The build I have for this board doesn't have mscorlib.dll so I'm using
> the SUSE one; that's not doable?
This was discussed by Rodrigo: mscorlib.dll is tied to the runtime. You
can't mix and match it across Mono versions.
So what you _can_ do is build e.g. Mono 2.4 on openSUSE, Mono 2.4 on
Linux/PPC, and copy the mscorlib.dll from your openSUSE build to
Linux/PPC, but you cannot e.g. take an mscorlib.dll from Mono 2.0
(openSUSE packaged version) and run it against a Mono 2.4 runtime. The
versions *must* be the same (and this is checked at program startup).
I am wondering how you built and installed on Linux/PPC, as if you
followed the normal build/install process you should have built (and
installed) mscorlib.dll, which apparently you don't have.
Did you configure your PPC/Linux Mono with --disable-mcs-build? (That
prevents the assemblies from being built -- very useful for CPU-limited
platforms like ARM where building all assemblies would take an
eternity.)
- Jon
More information about the Mono-list
mailing list