[Mono-dev] mono 2.0, solaris x86, bootstrap

David Suarez listasdavid at codicesoftware.com
Tue Oct 7 10:01:50 EDT 2008


Hi, 

I tried too, and using monolite (or the latest mono binaries available on
solaris, it's the same for both) I get this recurrent error: 

-bash-3.00$ /home/pablo/mono/mono/mono/mini/mono
../../class/lib/monolite/mcs.exe
dave: /home/pablo/monobin/lib/mono/1.0/mscorlib.dll
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the
`/home/pablo/monobin/lib/mono/1.0/mscorlib.dll' directory.

-bash-3.00$ export MONO_PATH=/home/pablo/mono/mcs/class/lib/monolite
-bash-3.00$ /home/pablo/mono/mono/mono/mini/mono
../../class/lib/monolite/mcs.exe
dave: /home/pablo/mono/mcs/class/lib/monolite/mscorlib.dll
dave: /home/pablo/mono/mcs/class/lib/monolite/mono/1.0/mscorlib.dll
dave: /home/pablo/monobin/lib/mono/1.0/mscorlib.dll
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the
`/home/pablo/monobin/lib/mono/1.0/mscorlib.dll' directory.

-bash-3.00$ ll ../../class/lib/monolite/ total 10592
-rwxr-xr-x   1 pablo    staff     288256 Oct  7 10:17 Mono.Security.dll
-rwxr-xr-x   1 pablo    staff    1111040 Oct  7 10:17 System.Xml.dll
-rwxr-xr-x   1 pablo    staff     850432 Oct  7 10:17 System.dll
-rwxr-xr-x   1 pablo    staff    1036800 Oct  7 10:17 mcs.exe
-rwxr-xr-x   1 pablo    staff    2078720 Oct  7 10:17 mscorlib.dll



(I added some debug output to the mono load_in_path function in assembly.c
in order to print the search paths, lines starting with "dave:") 

It seems that it's not able to load the mscorlib provided with monolite (at
/home/pablo/mono/mcs/class/lib/monolite/mscorlib.dll) although it's trying
to load that path. 

Is there any environment variable or argument that can be set anywhere to
get the compiled mono to find corlib? 



> -----Original Message-----
> From: mono-devel-list-bounces at lists.ximian.com [mailto:mono-devel-list-
> bounces at lists.ximian.com] On Behalf Of pablosantosluac at terra.es
> Sent: Tuesday, October 07, 2008 2:13 AM
> To: Andreas Färber
> Cc: mono-devel-list at lists.ximian.com
> Subject: Re: [Mono-dev] mono 2.0, solaris x86, bootstrap
> 
> Hi,
> 
> Do you think the problem can be related to the "profiles"? I mean, it
> seems I can't try to use a 2.0 profile, only a 1.1, and as soon as it
> tries 2.0 it fails... Is that possible?
> 
> pablosantosluac at terra.es escribió:
> > Hi Andreas, all,
> >
> > I gave up trying to build on Solaris 10, since it seems it has some
> sort
> > of problem.
> >
> > I switched to OpenSolaris.
> >
> > I've just downloaded the latest OpenSolaris release, installed it and
> > add some required packages like gcc, libtool, gmake, bison and glib2
> > from blastwave.
> >
> > Removed mcs executable.
> >
> > Then I also had to install SUNWhea to have includes since the default
> > 2008.05 opensolaris CD doesn't include them.
> >
> > I also installed: SUNWarc, SUNWscp and SUNWxinc.
> >
> > Then I donwloaded a tar.gz mono-2.0 source code release.
> >
> > ./configure worked
> >
> > "gmake" worked until hitting the mcs stuff...
> >
> > Installed mono 1.1.13.8 from blastwave.
> >
> > Run make again and got the following error. If you look carefully
> you'll
> > see there's (again) a problem locating mscorlib.dll, this time after
> > being able to build a bunch of c-sharp code...
> >
> > ../../jay/jay: 3 rules never reduced
> > ../../jay/jay: 1 shift/reduce conflict, 46 reduce/reduce conflicts.
> > echo "#define XSLT_PATTERN" > Mono.Xml.Xsl/PatternTokenizer.cs
> > cat System.Xml.XPath/Tokenizer.cs >>Mono.Xml.Xsl/PatternTokenizer.cs
> > MONO_PATH="../../class/lib/basic:$MONO_PATH"
> > /export/home/pablo/mono-2.0/runtime/mono-wrapper
> > ../../class/lib/basic/mcs.exe /codepage:65001  -optimize -d:NET_1_1
> > -d:ONLY_1_1 -d:BOOTSTRAP_WITH_OLDLIB -debug /noconfig -r:mscorlib.dll
> > -r:System.dll -nowarn:0162,0618,0612,0642,1595 -target:library
> > -out:System.Xml.dll System.Xml.XPath/Parser.cs
> > Mono.Xml.Xsl/PatternParser.cs Mono.Xml.Xsl/PatternTokenizer.cs
> > @System.Xml.dll.sources
> > GC Warning: Large stack limit(133464064): only scanning 8 MB
> > The assembly mscorlib.dll was not found or could not be loaded.
> > It should have been installed in the
> > `/opt/mono/lib/mono/1.0/mscorlib.dll' directory.
> > gmake[8]: *** [../../class/lib/basic/System.Xml.dll] Error 1
> > gmake[8]: Leaving directory
> > `/export/home/pablo/mono-2.0/mcs/class/System.XML'
> > gmake[7]: *** [do-all] Error 2
> > gmake[7]: Leaving directory
> > `/export/home/pablo/mono-2.0/mcs/class/System.XML'
> > gmake[6]: *** [all-recursive] Error 1
> > gmake[6]: Leaving directory `/export/home/pablo/mono-2.0/mcs/class'
> > gmake[5]: *** [all-recursive] Error 1
> > gmake[5]: Leaving directory `/export/home/pablo/mono-2.0/mcs'
> > gmake[4]: *** [profile-do--basic--all] Error 2
> > gmake[4]: Leaving directory `/export/home/pablo/mono-2.0/mcs'
> > gmake[3]: *** [profiles-do--all] Error 2
> > gmake[3]: Leaving directory `/export/home/pablo/mono-2.0/mcs'
> > gmake[2]: *** [all-local] Error 2
> > gmake[2]: Leaving directory `/export/home/pablo/mono-2.0/runtime'
> > gmake[1]: *** [all-recursive] Error 1
> > gmake[1]: Leaving directory `/export/home/pablo/mono-2.0'
> > gmake: *** [all] Error 2
> >
> > Any help would be really (really) welcomed...
> >
> > pablo
> >
> >
> > pablosantosluac at terra.es escribió:
> >
> >> Andreas,
> >>
> >> I just followed your instructions, step by step. First downloaded
> and
> >> installed gc-7.1 (worked perfectly), then configure and make mono.
> But
> >> I'm afraid I think I'm reaching the same point.
> >>
> >>
> >> Here's the ouput. At some point (it seems it happens after compiling
> >> some c# code) it starts complaining about mscorlib location...
> >>
> >>
> >> gmake[7]: Leaving directory `/home/pablo/mono/mono-2.0/mcs/build'
> >> gmake[6]: Leaving directory `/home/pablo/mono/mono-2.0/mcs/build'
> >> gmake[6]: Entering directory `/home/pablo/mono/mono-2.0/mcs/jay'
> >> gmake all-local
> >> gmake[7]: Entering directory `/home/pablo/mono/mono-2.0/mcs/jay'
> >> gmake[7]: Nothing to be done for `all-local'.
> >> gmake[7]: Leaving directory `/home/pablo/mono/mono-2.0/mcs/jay'
> >> gmake[6]: Leaving directory `/home/pablo/mono/mono-2.0/mcs/jay'
> >> gmake[6]: Entering directory `/home/pablo/mono/mono-2.0/mcs/mcs'
> >> gmake all-local
> >> gmake[7]: Entering directory `/home/pablo/mono/mono-2.0/mcs/mcs'
> >> mcs /codepage:65001  -optimize -d:NET_1_1 -d:ONLY_1_1
> >> -d:BOOTSTRAP_WITH_OLDLIB -debug -target:exe -out:mcs.exe cs-
> parser.cs
> >> @mcs.exe.sources
> >> GC Warning: Large stack limit(133464064): only scanning 8 MB
> >> cs-parser.cs(6665,7): warning CS0162: Unreachable code detected
> >> cs-parser.cs(6667,5): warning CS0162: Unreachable code detected
> >> expression.cs(991,14): warning CS0618:
> >>
> `Mono.CSharp.UserOperatorCall.MakeSimpleCall(Mono.CSharp.EmitContext,
> >> Mono.CSharp.MethodGroupExpr, Mono.CSharp.Expression,
> >> Mono.CSharp.Location)' is obsolete: `It may not be compatible with
> >> expression trees'
> >> Compilation succeeded - 3 warning(s)
> >> cp mcs.exe ../class/lib/basic/mcs.exe
> >> test ! -f mcs.exe.mdb || cp mcs.exe.mdb
> ../class/lib/basic/mcs.exe.mdb
> >> gmake[7]: Leaving directory `/home/pablo/mono/mono-2.0/mcs/mcs'
> >> gmake[6]: Leaving directory `/home/pablo/mono/mono-2.0/mcs/mcs'
> >> gmake[6]: Entering directory `/home/pablo/mono/mono-2.0/mcs/class'
> >> gmake[7]: Entering directory `/home/pablo/mono/mono-
> 2.0/mcs/class/corlib'
> >> gmake all-local
> >> gmake[8]: Entering directory `/home/pablo/mono/mono-
> 2.0/mcs/class/corlib'
> >> mcs /codepage:65001 -nowarn:169,612,618,649 -d:INSIDE_CORLIB -
> optimize
> >> -d:NET_1_1 -d:ONLY_1_1 -d:BOOTSTRAP_WITH_OLDLIB -debug /noconfig -
> unsafe
> >> -nostdlib -resource:resources/collation.core.bin
> >> -resource:resources/collation.tailoring.bin
> >> -resource:resources/collation.cjkCHS.bin
> >> -resource:resources/collation.cjkCHT.bin
> >> -resource:resources/collation.cjkJA.bin
> >> -resource:resources/collation.cjkKO.bin
> >> -resource:resources/collation.cjkKOlv2.bin -target:library
> >> -out:mscorlib.dll  @corlib.dll.sources
> >> GC Warning: Large stack limit(133464064): only scanning 8 MB
> >> System/WindowsConsoleDriver.cs(29,1): warning CS1635: Cannot restore
> >> warning `CS0169' because it was disabled globally
> >> System.Security.Cryptography/PasswordDeriveBytes.cs(231,1): warning
> >> CS1691: `809' is not a valid warning number
> >> System.Security.Cryptography/PasswordDeriveBytes.cs(237,1): warning
> >> CS1691: `809' is not a valid warning number
> >> System/Int16.cs(178,3): warning CS0162: Unreachable code detected
> >> System/Int32.cs(200,3): warning CS0162: Unreachable code detected
> >> System/Int64.cs(181,3): warning CS0162: Unreachable code detected
> >> System/String.cs(946,6): warning CS0162: Unreachable code detected
> >> System/String.cs(1049,6): warning CS0162: Unreachable code detected
> >> Mono.Globalization.Unicode/Normalization.cs(76,36): warning CS0162:
> >> Unreachable code detected
> >> Compilation succeeded - 9 warning(s)
> >> :  mscorlib.dll ../../class/mono.snk
> >> mv mscorlib.dll ../../class/lib/basic/mscorlib.dll
> >> test ! -f mscorlib.dll.mdb || mv mscorlib.dll.mdb
> >> ../../class/lib/basic/mscorlib.dll.mdb
> >> test ! -f mscorlib.pdb || mv mscorlib.pdb
> ../../class/lib/basic/mscorlib.pdb
> >> gmake[8]: Leaving directory `/home/pablo/mono/mono-
> 2.0/mcs/class/corlib'
> >> gmake[7]: Leaving directory `/home/pablo/mono/mono-
> 2.0/mcs/class/corlib'
> >> gmake[7]: Entering directory `/home/pablo/mono/mono-
> 2.0/mcs/class/System'
> >> gmake all-local
> >> gmake[8]: Entering directory `/home/pablo/mono/mono-
> 2.0/mcs/class/System'
> >> ** Warning: System.dll built without parts that depend on:
> System.Xml.dll
> >> MONO_PATH="../../class/lib/basic:$MONO_PATH"
> >> /home/pablo/mono/mono-2.0/runtime/mono-wrapper
> >> ../../class/lib/basic/mcs.exe /codepage:65001  -optimize -d:NET_1_1
> >> -d:ONLY_1_1 -d:BOOTSTRAP_WITH_OLDLIB -debug /noconfig  -
> target:library
> >> -out:System.dll  @System.dll.sources
> >> The assembly mscorlib.dll was not found or could not be loaded.
> >> It should have been installed in the
> >> `/opt/mono/lib/mono/1.0/mscorlib.dll' directory.
> >> gmake[8]: *** [../../class/lib/basic/System.dll] Error 1
> >> gmake[8]: Leaving directory `/home/pablo/mono/mono-
> 2.0/mcs/class/System'
> >> gmake[7]: *** [do-all] Error 2
> >> gmake[7]: Leaving directory `/home/pablo/mono/mono-
> 2.0/mcs/class/System'
> >> gmake[6]: *** [all-recursive] Error 1
> >> gmake[6]: Leaving directory `/home/pablo/mono/mono-2.0/mcs/class'
> >> gmake[5]: *** [all-recursive] Error 1
> >> gmake[5]: Leaving directory `/home/pablo/mono/mono-2.0/mcs'
> >> gmake[4]: *** [profile-do--basic--all] Error 2
> >> gmake[4]: Leaving directory `/home/pablo/mono/mono-2.0/mcs'
> >> gmake[3]: *** [profiles-do--all] Error 2
> >> gmake[3]: Leaving directory `/home/pablo/mono/mono-2.0/mcs'
> >> gmake[2]: *** [all-local] Error 2
> >> gmake[2]: Leaving directory `/home/pablo/mono/mono-2.0/runtime'
> >> gmake[1]: *** [all-recursive] Error 1
> >> gmake[1]: Leaving directory `/home/pablo/mono/mono-2.0'
> >> gmake: *** [all] Error 2
> >>
> >>
> >> -bash-3.00$ uname -a
> >> SunOS unknown 5.10 Generic_127128-11 i86pc i386 i86pc
> >>
> >>
> >> Thanks again for your help
> >>
> >> pablo
> >>
> >>
> >>
> >>
> >> Andreas Färber escribió:
> >>
> >>
> >>> pablosantosluac at terra.es schrieb:
> >>>
> >>>
> >>>> Well, it seems building the "core" is not hard if you make sure
> (on
> >>>> Solaris 10) that you use GNU packages and not the SUN ones (gmake,
> >>>> libtool, and everything else). I can build "mono" from trunk or 2-
> 0.
> >>>> but the problems start with mcs... I'm now following the
> instructions
> >>>> sent by Geoff (basically using
> >>>> http://mono.ximian.com/monobuild/preview/sources/mono/mono-
> 2.0.tar.bz2).
> >>>>
> >>>>
> >>> Having the runtime compile does not imply it'll work at runtime...
> >>> Whether you use a tarball or monolite usually doesn't matter, but
> if
> >>> you can, a tarball is "safer".
> >>>
> >>> Fwiw, I've just finished compiling mono at r114845+mcs@r114882 from
> >>> mono at r109531+mcs@r109587 (all trunk) on OpenSolaris build 95 for
> i86
> >>> using exactly this:
> >>>
> >>> ../mono/configure --prefix=/opt/mono --with-gc=boehm \
> >>> --with-sigaltstack=no \
> >>> CPPFLAGS="-I/opt/mono-gc/include" \
> >>> LDFLAGS="-L/opt/mono-gc/lib -R/opt/mono/lib"
> >>>
> >>> where /opt/mono-gc is the prefix of Boehm GC 7.1, compiled with:
> >>>
> >>> ../gc-7.1/configure --prefix=/opt/mono-gc
> >>>
> >>> Works nicely there. Don't have access to S10 from here though to
> fetch
> >>> my scripts or to try the latest revs there.
> >>>
> >>> On OpenSolaris/amd64, I use these on top:
> >>>
> >>> PREFIX=/opt/mono-gc
> >>>
> >>> ../gc-7.1/configure --prefix=$PREFIX --libdir=$PREFIX/lib/amd64 \
> >>> CPPFLAGS=-m64 CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64
> >>>
> >>> and:
> >>>
> >>> PREFIX=/opt/mono
> >>>
> >>> ../mono/configure --prefix=$PREFIX --bindir=$PREFIX/bin/amd64
> >>> --libdir=$PREFIX/lib/amd64 \
> >>> --with-gc=boehm --with-sigaltstack=no --enable-big-arrays
> >>> --enable-dtrace --disable-mcs-build \
> >>> CPPFLAGS="-m64 -I/opt/mono-gc/include" CFLAGS="-m64" \
> >>> LDFLAGS="-m64 -L/opt/mono-gc/lib/amd64 -R/opt/mono/lib/amd64" \
> >>> PKG_CONFIG_PATH="/usr/lib/amd64/pkgconfig:$PKG_CONFIG_PATH"
> >>>
> >>> (Obviously I'm skipping mcs build in this script, but I've done
> full
> >>> amd64 bootstraps before with post-2.0 revisions.)
> >>>
> >>> Note that I use dedicated /opt subdirs because that's where
> 3rdparty
> >>> packages are often installed on Solarises, making it easy to rename
> or
> >>> remove. $prefix/{bin,lib}/amd64 is where Sun places their amd64
> files.
> >>>
> >>> Using a monolite from 12:05 GMT+02:00 today (with Sun's `mcs`
> renamed),
> >>> there are no problems on OSol/i86 either.
> >>> So it's definitely not mcs's or monolite's fault!!!
> >>>
> >>>
> >>>
> >>>
> >>>>> Cetin actually mentioned OpenSolaris as opposed to Solaris 10.
> When
> >>>>> OpenSolaris 2008.05 was released I posted the following mini-
> guide:
> >>>>> http://lists.ximian.com/pipermail/mono-list/2008-May/038584.html
> >>>>>
> >>>>> It was actually supposed to avoid questions later on. ;)
> >>>>>
> >>>>>
> >>>>>
> >>>> Following this guide the only thing I realize I missed is the
> LDFLAGS
> >>>> stuff? Is it the reason why mcs.exe can't be run?
> >>>>
> >>>>
> >>> In case you mean LDFLAGS=-R/path then no, it has no influence on
> mcs. It
> >>> helps with MD (libPosixHelper.so et al.).
> >>>
> >>>
> >>>
> >>>>> The often-referenced http://www.mono-project.com/Mono:Solaris
> page
> >>>>> contains a link to another post of mine, for Solaris 10:
> >>>>> http://lists.ximian.com/pipermail/mono-list/2007-
> January/034101.html
> >>>>>
> >>>>>
> >>>>>
> >>>> Yes, this guide was helpful building 1.1.13 (almost two years ago
> >>>> already), but now all those tricks are not needed anymore... You
> can
> >>>> get the whole c code build easily...
> >>>>
> >>>>
> >>> If you build using Blastwave tools you don't need some of the
> >>> environment variables; otherwise you still do on Solaris 10.
> >>>
> >>> The only thing outdated in that post to my knowledge is
> >>> CFLAGS=-D_POSIX_PTHREAD_SEMANTICS and possibly the mono-service
> issue.
> >>> Jonel's blog on the -mt pkg-config issue is almost three years old
> and
> >>> mostly still applies due to the long lifetime of S10. :)
> >>> AS=gas for instance was only needed for running `make check` so you
> >>> won't notice during plain `make`.
> >>>
> >>> Andreas
> >>>
> >>>
> >>>
> >>>
> >>>
> >> _______________________________________________
> >> Mono-devel-list mailing list
> >> Mono-devel-list at lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >>
> >>
> >>
> > _______________________________________________
> > Mono-devel-list mailing list
> > Mono-devel-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> >
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list



More information about the Mono-devel-list mailing list