[Mono-dev] mono 2.0, solaris x86, bootstrap
pablosantosluac at terra.es
pablosantosluac at terra.es
Mon Oct 6 19:26:23 EDT 2008
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
>
>
More information about the Mono-devel-list
mailing list