[Mono-bugs] [Bug 388425] Mono loads assembly from bin/ referenced in web. config regardless of its version number

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Aug 1 04:37:57 EDT 2008


https://bugzilla.novell.com/show_bug.cgi?id=388425

User mhabersack at novell.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=388425#c21





--- Comment #21 from Marek Habersack <mhabersack at novell.com>  2008-08-01 02:37:56 MDT ---
(In reply to comment #18 from Raja Harinath)
> (In reply to comment #14 from Marek Habersack)
> 
> > After applying the current version of the patch and explicitly
> > unsetting the MONO_PATH variable in the mono-wrapper script I no
> > longer get the double free error, but the bootstrap still fails with:
> 
> This is a no-go.  The MONO_PATH is essential for the build.
The patch doesn't touch MONO_PATH - if a path in the MONO_PATH contains correct
assemblies, everything will be loaded just fine.

> > make[1]: Entering directory `/usr/src/tmp/mono/mcs/class/System'
> > MONO_PATH="../../class/lib/net_2_1_bootstrap:$MONO_PATH"
> > /usr/src/tmp/mono/mono/runtime/mono-wrapper  --security=temporary-smcs-hack
> > ../../class/lib/net_2_1_bootstrap/smcs.exe /codepage:65001  -optimize
> > -d:NET_1_1 -d:NET_2_0 -d:NET_2_1 -debug /noconfig -nowarn:618
> > -d:CONFIGURATION_2_0 -unsafe  -target:library -out:System.dll 
> > @System.dll.sources
> > System.ComponentModel/ComponentCollection.cs(69,43): warning CS0114:
> > `System.ComponentModel.ComponentCollection.this[int]' hides inherited member
> > `System.Collections.Generic.List<System.ComponentModel.IComponent>.this[int]'.
> > To make the current member override that implementation, add the override
> > keyword. Otherwise add the new keyword
> > /home/devel/lib/mono/2.0/mscorlib.dll (Location of the symbol related to
> > previous warning)
> 
> And so, it appears to be picking up the 2.0 mscorlib.dll from the install tree.
> We can't have that.  We need to pick up mscorlib.dll from the build tree, and
> MONO_PATH is how we do it.
The thing is - this behavior is broken and should be fixed. MS.NET doesn't work
that and we shouldn't either (as not loading incorrectly versioned assemblies
is a sane thing)

> 
> Since net_2_1_bootstrap/smcs.exe is emitted by gmcs, which in turn uses SRE, we
> can't control the version numbers of its assemblyrefs.  We use MONO_PATH to
> force the runtime to pick up the 2.1 versioned corlib from the bootstrap tree.
Or we could use cecil to change the assembly versions in smcs.exe

> 
> (That is why we have a 2 stage bootstrap for the 2.0 profile, and the first 2
> of the 3 stages in the 2.1 bootstrap.)
> 


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list