[Mono-list] Problems on FreeBSD with Beta 1

Scott Muc mono@muc-central.com
Wed, 19 May 2004 21:37:09 -0700


On Tue, 2004-05-18 at 18:09, Scott Muc wrote:
> On Tue, 2004-05-18 at 08:56, Paolo Molaro wrote:
> > On 05/17/04 Supreme Overlord wrote:
> > > Just tried a new build with the May-17th snapshot with the same results.
> > > Here are two lines from a 'ps aux'. The process states never change.
> > > 
> > > root   39900  0.1  4.7 15852 5860  p0  S+    7:18PM   0:01.70 lt-mono
> > > --config ../../data/config ./../gacutil.exe /i ./Accessibility.dll /f
> > > /pa
> > > root   39983  0.0  2.1  9440 2588  ??  Is    7:18PM   0:00.03 lt-mono
> > > --config ../../data/config ./../gacutil.exe /i ./Accessibility.dll /f
> > > /pa
> > [...]
> > > > /usr/bin/install -c -m 644 mscorlib.dll /usr/local/lib/mscorlib.dll
> > > > MONO_PATH=. ../../mono/mini/mono --config ../../data/config
> > > > ./../gacutil.exe /i ./Accessibility.dll /f /package 1.0 /root
> > > > /usr/local/lib
> > > > Package exported to: /usr/local/lib/mono/1.0
> > > > Accessibility installed into the gac (/usr/local/lib/mono/gac/)
> > > > 
> > > > Then it just hangs. I've mapped libc to libc.so.4 in the data/config
> > > > file. I would love to assist in finding out why this hangs, but I'm not
> > > > familiar with what needs to be done.
> > 
> > Is this a SMP machine?
> > Try attaching to the process with gdb and post a backtrace of all the
> > threads (thread apply all bt at the gdb command prompt).
> > You may also want to try a newer libgc from
> > http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/, since the
> > changelog mentions fixes for FreeBSD (compile and install libgc and then
> > recompile mono after configuring with ./configure --with-gc=boehm).
> > 
> > lupus

ok, I've made some progress, albeit a slight digression from what we're
trying to achieve. Note that this is with the May 18th code snapshot.

I managed to build the mono beta 1 by doing the following:

./configure --prefix=/usr/local --with-gc=none
gmake
edit data/config to change libc mappings to libc.so.4
gmake install

voila!

spark% mono --version
Mono JIT compiler version 0.91.99.20040518, (C) 2002-2004 Novell, Inc
and Contributors. www.go-mono.com
        TLS:           normal
        GC:            none
        SIGSEGV      : normal
        Globalization: none

I then proceeded to download and compile xsp-0.13. There were no
problems with the compilation and installation of xsp. I tried running
it and got the following stack trace when making my first request:

(note: started in /usr/local/share/doc/xsp/test )
spark% mono /usr/local/bin/xsp.exe
Listening on port: 8080
Listening on address: 0.0.0.0
Root directory: /usr/local/share/doc/xsp/test
Hit Return to stop the server.
System.ExecutionEngineException: No GCHandle support built-in
in (unmanaged) (wrapper managed-to-native)
System.Runtime.InteropServices.GCHandle:GetTargetHandle
(object,int,System.Runtime.InteropServices.GCHandleType)
in <0x00004> (wrapper managed-to-native)
System.Runtime.InteropServices.GCHandle:GetTargetHandle
(object,int,System.Runtime.InteropServices.GCHandleType)
in <0x00023> System.Runtime.InteropServices.GCHandle:.ctor
(object,System.Runtime.InteropServices.GCHandleType)
in <0x0001b> System.Runtime.InteropServices.GCHandle:Alloc
(object,System.Runtime.InteropServices.GCHandleType)
in <0x00050> System.WeakReference:AllocateHandle (object)
in <0x00026> System.WeakReference:.ctor (object,bool)
in <0x00012> System.WeakReference:.ctor (object)
in <0x0002b> System.Runtime.Remoting.ClientIdentity:set_ClientProxy
(System.MarshalByRefObject)
in <0x00323>
System.Runtime.Remoting.RemotingServices:GetOrCreateClientIdentity
(System.Runtime.Remoting.ObjRef,System.Type,object&)
in <0x0001c> System.Runtime.Remoting.RemotingServices:GetRemoteObject
(System.Runtime.Remoting.ObjRef,System.Type)
in <0x00074>
System.Runtime.Remoting.RemotingServices:GetProxyForRemoteObject
(System.Runtime.Remoting.ObjRef,System.Type)
in <0x0010f> System.Runtime.Remoting.RemotingServices:Unmarshal
(System.Runtime.Remoting.ObjRef,bool)
in <0x00010> System.Runtime.Remoting.RemotingServices:Unmarshal
(System.Runtime.Remoting.ObjRef)
in <0x0012e> System.Runtime.Remoting.RemotingServices:GetDomainProxy
(System.AppDomain)
in <0x00079> System.AppDomain:CreateDomain
(string,System.Security.Policy.Evidence,System.AppDomainSetup)
in <0x00216> System.Web.Hosting.ApplicationHost:CreateApplicationHost
(System.Type,string,string)
in <0x00013> Mono.ASPNET.XSPApplicationServer:CreateApplicationHost
(string,string)
in <0x0016c> Mono.ASPNET.XSPApplicationServer:GetApplicationForPath
(string,bool)
in <0x000b2> Mono.ASPNET.Worker:Run (object)

Therefore I take it that xsp requires a garbage collector to run. I
downloaded and installed the boehms GC that you linked to. That went
well, but gcc is not finding the library:

spark% gcc -lgc
/usr/libexec/elf/ld: cannot find -lgc

I built boehms GC using --prefix=/usr/local

Here's the contents of my /usr/local/lib/libgc*

spark% ls -la libgc*
-rw-r--r--  1 root  wheel  473908 May 18 19:19 libgc.a
-rwxr-xr-x  1 root  wheel     685 May 18 19:19 libgc.la
lrwxr-xr-x  1 root  wheel      10 May 18 19:19 libgc.so -> libgc.so.1
-rwxr-xr-x  1 root  wheel  271283 May 18 19:19 libgc.so.1

Scott Muc