rawhide report: 20091030 changes

Tom "spot" Callaway tcallawa at redhat.com
Fri Oct 30 17:16:03 UTC 2009


On 10/30/2009 12:03 PM, Tom "spot" Callaway wrote:
> On 10/30/2009 11:00 AM, Kevin Kofler wrote:
> 
>>> 1:nant-0.85-30.fc12.i686 requires mono(NDoc.Core) = 0:1.3.3498.0
>>
>> This one still needs attention from a Mono person to fix the rebuild. (A 
>> rebuild would be all that's needed, but the problem is that it's failing to 
>> build. 
>> http://koji.fedoraproject.org/koji/getfile?taskID=1777541&name=build.log )
> 
> Nant (and several other members of the mono stack) have to be carefully
> built in a two-stage process (bootstrap, unbootstrap). I'll do it today.

In case I get eaten by raptors (or someone else has to do this task in
the future), here's the gory details:

Nant is extremely sensitive about any changes made to its underlying
dependencies, specifically log4net, mono-nunit22, and mono-sharpcvslib.
Sometimes (possibly all the time), when these packages get rebuilt, or a
butterfly flaps its wings in Beijing, their symbols or locations in the
GAC change slightly, and nant will refuse to rebuild with the log error
you got above:

      [csc] The assembly was not found in the Global Assembly Cache, a
path listed in the MONO_PATH environment variable, or in the location of
the executing assembly
(/builddir/build/BUILD/nant-0.85/build/mono-2.0.unix/nant-0.85-debug/bin/lib/).
                  [csc] **
(/usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe:7194): WARNING **: Could
not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral,
PublicKeyToken=135942c6bc33ad08' or one of its dependencies.
                  [csc] **
(/usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe:7194): WARNING **:
Missing method .ctor in assembly
/builddir/build/BUILD/nant-0.85/build/mono-2.0.unix/nant-0.85-debug/bin/lib/ICSharpCode.SharpCvsLib.dll,
type log4net.Config.XmlConfiguratorAttribute
                  [csc] **
(/usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe:7194): WARNING **: Can't
find custom attr constructor image:
/builddir/build/BUILD/nant-0.85/build/mono-2.0.unix/nant-0.85-debug/bin/lib/ICSharpCode.SharpCvsLib.dll
mtoken: 0x0a0000f4
                  [csc] **
(/usr/lib/pkgconfig/../../lib/mono/2.0/gmcs.exe:7194): WARNING **: Could
not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral,
PublicKeyToken=135942c6bc33ad08' or one of its dependencies.

Here's how to fix it.

1. Set %{bootstrap} to 1 in nant.spec. Minor release increment in
nant.spec. Rebuild. {Tag package in buildroot}
2. Increment release in mono-nunit22.spec. Rebuild. {Tag package in
buildroot}
3. Increment release in log4net.spec. Rebuild. {Tag package in buildroot}
4. Increment release in mono-sharpcvslib.spec. Rebuild. {Tag package in
buildroot}
5. Reset %{bootstrap} to 0 in nant.spec. Major release increment in
nant.spec (drop minor). Rebuild (nant should now build cleanly).

This is easier to do with a chain build, but since chain builds only
work for unfrozen rawhide...I'm having to do this by hand.

~spot





More information about the fedora-devel-list mailing list