Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 90113

Summary: emerge nant random seg faults
Product: Gentoo Linux Reporter: Grant Martin <grantmartin>
Component: Current packagesAssignee: dotnet project <dotnet>
Status: RESOLVED CANTFIX    
Severity: critical    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
URL: http://nant.sourceforge.net/faq.html#building-mono-1
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: nant-0.85_rc3 ebuild
NAnt Build File debug settings change
Added New patch to ebuild

Description Grant Martin 2005-04-23 04:07:33 UTC
emerge fails with segmentation fault.  Looks like exact problem as stated in nant FAQ link.  The ebuild might need to be modified to fix.
I have tried both mono 1.0.6 & 1.0.5 with ntpl flag enabled + disabled.

Reproducible: Always
Steps to Reproduce:
1. emerge nant

Actual Results:  
 [nant]
/var/tmp/portage/nant-0.85_rc2/work/nant-0.85-rc2/src/NAnt.Compression/NAnt.Compression.build
build
make: *** [build-nant] Segmentation fault

!!! ERROR: dev-dotnet/nant-0.85_rc2 failed.
!!! Function src_compile, Line 43, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.


Expected Results:  
Emerged correctly
Comment 1 Peter Johanson (RETIRED) gentoo-dev 2005-04-23 08:47:59 UTC
Created attachment 57017 [details]
nant-0.85_rc3 ebuild

Ok, here's an ebuild that includes exporting that variable. It's for the
0.85-rc3 release, which was released recently.

Can you please drop this into your nant folder (or an overlay, but make sure to
copy over the patches from files/) and give it a try? Thanks.
Comment 2 Grant Martin 2005-04-23 17:43:29 UTC
Thanks for the quick reply.
I have tried the new ebuild in portage overlay and now get a different error:

Here is the console output:

root@vanquish nant # ebuild nant-0.85_rc3.ebuild digest
>>> Generating digest file...
<<< nant-0.85-rc3-src.tar.gz
>>> Generating manifest file...
<<< nant-0.85_rc3.ebuild
<<< ChangeLog
<<< metadata.xml
<<< files/digest-nant-0.85_rc3
<<< files/nant-0.85-rc2-profile.diff
<<< files/nant-0.85-rc2-is-unix.diff
>>> Computed message digests.

root@vanquish nant # emerge nant
Calculating dependencies ...done!
>>> emerge (1 of 1) dev-dotnet/nant-0.85_rc3 to /
>>> md5 files   ;-) nant-0.85_rc3.ebuild
>>> md5 files   ;-) ChangeLog
>>> md5 files   ;-) metadata.xml
>>> md5 files   ;-) files/digest-nant-0.85_rc3
>>> md5 files   ;-) files/nant-0.85-rc2-profile.diff
>>> md5 files   ;-) files/nant-0.85-rc2-is-unix.diff
>>> md5 src_uri ;-) nant-0.85-rc3-src.tar.gz
>>> Unpacking source...
>>> Unpacking nant-0.85-rc3-src.tar.gz to /var/tmp/portage/nant-0.85_rc3/work
tar: A lone zero block at 21561
 * Applying nant-0.85-rc2-is-unix.diff ...                                [ ok ] * Applying nant-0.85-rc2-profile.diff ...                                [ ok ]>>> Source unpacked.
mkdir -p bootstrap
cp -R lib/ bootstrap/lib
# Mono loads log4net before privatebinpath is set-up, so we need this in the same directory
# as NAnt.exe
cp lib/log4net.dll bootstrap
cp src/NAnt.Console/App.config bootstrap/NAnt.exe.config
mcs -target:exe -define:MONO -out:bootstrap/NAnt.exe -r:bootstrap/log4net.dll \
-recurse:src/NAnt.Console/*.cs src/CommonAssemblyInfo.cs
Compilation succeeded
resgen  src/NAnt.Core/Resources/Strings.resx bootstrap/Strings.resources
Read in 181 resources from 'src/NAnt.Core/Resources/Strings.resx'
Writing resource file...  Done.
mcs -target:library -warn:0 -define:MONO -out:bootstrap/NAnt.Core.dll -debug -resource:bootstrap/Strings.resources \
    -r:lib/log4net.dll \
-r:System.Web.dll -recurse:src/NAnt.Core/*.cs src/CommonAssemblyInfo.cs
Compilation succeeded
resgen  src/NAnt.DotNet/Resources/Strings.resx bootstrap/DotNet.Strings.resources
Read in 69 resources from 'src/NAnt.DotNet/Resources/Strings.resx'
Writing resource file...  Done.
mcs -target:library -warn:0 -define:MONO -out:bootstrap/NAnt.DotNetTasks.dll -r:./bootstrap/NAnt.Core.dll \
-r:bootstrap/lib/mono/1.0/NDoc.Core.dll -recurse:src/NAnt.DotNet/*.cs \
        -resource:bootstrap/DotNet.Strings.resources,Strings.resources src/CommonAssemblyInfo.cs
Compilation succeeded
mcs -target:library -warn:0 -define:MONO -out:bootstrap/NAnt.CompressionTasks.dll -r:./bootstrap/NAnt.Core.dll \
-r:bootstrap/lib/ICSharpCode.SharpZipLib.dll -recurse:src/NAnt.Compression/*.cs \
        src/CommonAssemblyInfo.cs
Compilation succeeded
mono bootstrap/NAnt.exe -f:NAnt.build build
Compat mode: the request from /var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/bootstrap/log4net.dll to load System was remapped (http://www.go-mono.com/remap.html)
Compat mode: the request from /var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/bootstrap/log4net.dll to load System.Data was remapped (http://www.go-mono.com/remap.html)
Compat mode: the request from /var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/bootstrap/log4net.dll to load System.Web was remapped (http://www.go-mono.com/remap.html)
NAnt 0.85 (Build 0.85.1932.0; rc3; 4/16/2005)
Copyright (C) 2001-2005 Gerry Shaw
http://nant.sourceforge.net

Buildfile: file:///var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/NAnt.build
Target framework: Mono 1.0 Profile
Target(s) specified: build

   [tstamp] Sunday, April 24, 2005 8:40:44 PM.

init:


debug:


set-framework-configuration:


set-mono-1.0-framework-configuration:


build:

     [echo] Build Directory is /var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/build/mono-1.0.unix/nant-0.85-debug
     [copy] Copying 2 files to '/var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/build/mono-1.0.unix/nant-0.85-debug/bin'.
     [copy] Copying 34 files to '/var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/build/mono-1.0.unix/nant-0.85-debug/bin/lib'.
     [nant] /var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/src/NAnt.Core/NAnt.Core.build build
            Buildfile: file:///var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/src/NAnt.Core/NAnt.Core.build
            Target framework: Mono 1.0 Profile
            Target(s) specified: build


            build:


            BUILD FAILED

            /var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/src/NAnt.Core/NAnt.Core.build(11,10):
            'true' is not a valid value for attribute 'debug' of <csc ... />. Valid values are: None, Enable, Full, PdbOnly

            Total time: 0.1 seconds.


BUILD FAILED

Nested build failed.  Refer to build log for exact reason.

Total time: 1.8 seconds.

make: *** [build-nant] Error 1
Comment 3 Grant Martin 2005-04-23 19:01:52 UTC
Created attachment 57067 [details, diff]
NAnt Build File debug settings change

The new NAnt release has changed the debug true/false option into an enum (i.e
All, None etc).
Comment 4 Grant Martin 2005-04-23 19:03:23 UTC
Created attachment 57068 [details]
Added New patch to ebuild

Added new patch to ebuild.
Comment 5 Grant Martin 2005-04-23 19:05:14 UTC
Ok now it compiles a little longer then fails with a new error:

     [nant] /var/tmp/portage/nant-0.85_rc3/work/nant-0.85-rc3/src/NAnt.SourceControl/NAnt.SourceControl.build build

BUILD FAILED

The current runtime framework 'mono-1.0' is not correctly configured in the NAnt configuration file.
    A null value was found where an object instance was required.
Comment 6 Grant Martin 2005-04-23 20:53:43 UTC
Update:  
I have noticed that it still looks like a seg fault problem.  It appears that the bootstrap binaries are being built incorrectly.  When I manually go into the work directory and run 'make' it builds successfully.
Comment 7 Grant Martin 2005-04-24 00:22:10 UTC
Still can't get a build.  I've noticed however that I can sometimes do a manual build 'make' when I delete everything inside the bootstrap directory...

Comment 8 Grant Martin 2005-04-24 00:49:56 UTC
The plot thickens:
http://www.mono-project.com/NAnt_Installation

NAnt has a critical build problem, we need to get a newer nightly build.
Comment 9 Grant Martin 2005-04-24 01:10:59 UTC
No luck still with nightly build.  Maybe it is gentoo mono configuration?
Comment 10 Peter Johanson (RETIRED) gentoo-dev 2005-04-24 12:04:36 UTC
It should be noted that *none* of these problems occur using the mono-1.1.6 in portage. It's sad, but we may have to depend on that version of mono for nant, since it seems nant is far to stressful on the less advanced 1.0.x runtime + classes.

Can you test with mono-1.1.6 and see if this solves things for you? Thanks.
Comment 11 Grant Martin 2005-04-25 00:11:59 UTC
Yes, using mono 1.1.6 fixes the problem with nant. Thanks