[Mono-dev] Compiling Mono v2.4 RC2 (Solaris 10 SPARCv9)
Elamide
timothy.l.smith at accenture.com
Mon Jul 27 08:44:48 EDT 2009
After reading this thread and others about building 2.4 on Solaris, I think I
almost have 2.4.2.2 ready. The build succeeds, the problem is that the 'make
check' fails in mini with:
MONO_PATH=../../mcs/class/lib/net_2_0 ../../runtime/mono-wrapper
--regression basic.exe basic-float.exe basic-long.exe basic-calls.exe
objects.exe arrays.exe basic-math.exe exceptions.exe iltests.exe
devirtualization.exe generics.exe basic-simd.exe
GC Warning: Large stack limit(10485760): only scanning 8 MB
GLib: Cannot convert message: Conversion from character set 'UTF-8' to '646'
is not supported
Test run:
image=/export/home/smithti/mono_build/src/mono-2.4.2.2/mono/mini/basic.exe,
opts=
** (process:13102): WARNING **: unknown opcode int_rem_un_imm in
mono_arch_output_basic_block()
** ERROR **: file mini-sparc.c: line 3694 (mono_arch_output_basic_block):
should not be reached
aborting...
Stacktrace:
make[4]: *** [rcheck] Abort (core dumped)
make[4]: Leaving directory
`/export/home/smithti/mono_build/src/mono-2.4.2.2/mono/mini'
I had the Solaris iconv package installed but that did not help the GLib
error, nor do I know if the GLib error is the issue.
The build server is a Solaris Zone that was stripped of as much of the
development env as possible. I had that done since a common theme in the
posts, here and elsewhere, seemed to indicate that the best chance was using
as pure of a GNU toolset as possible.
I did have to edit the mono configure script to disable dtrace for solaris,
it caused the build to fail in the metadata directory since dtrace invokes
ld with -Blocal and the GNU ld didn't like it.
bash-4.0# uname -a
SunOS psdmmfs099 5.10 Generic_127111-08 sun4v sparc SUNW,Sun-Fire-T200
Solaris
#
# redirects of tools to the GNU tools
#
bash-4.0# ls -l /usr/ccs/bin
ar -> /usr/local/bin/ar
ar.orig
dis
dump
elfdump
error
gprof
gprof.callg.blurb
gprof.flat.blurb
grep -> /usr/local/bin/grep
lari
ld -> /usr/local/bin/ld
ld.orig
ld.orig.2
lex
lorder
m4
make -> /usr/local/bin/make
mcs.orig
nceucform
ncform
nm -> /usr/local/bin/nm
nm.orig
nrform
prof
ranlib -> /usr/local/bin/ranlib
ranlib.orig
regcmp
size
sparcv9
strip -> /usr/local/bin/strip
strip.orig
symorder
tsort
unifdef
yacc
yaccpar
#
# All the *local packages were installed from sunfreeware. *tar packages
were built using gcc.
#
bash-4.0# ls -1 /export/home/smithti/mono_build
autoconf-2.63-sol10-sparc-local
automake-1.11-sol10-sparc-local
bash-4.0-sol10-sparc-local
binutils-2.19-sol10-sparc-local
bison-2.4.1-sol10-sparc-local
bzip2-1.0.5-sol10-sparc-local
coreutils-7.4-sol10-sparc-local
expat-2.0.1-sol10-sparc-local
flex-2.5.35-sol10-sparc-local
fontconfig-2.4.2-sol10-sparc-local
freetype-2.3.9-sol10-sparc-local
gawk-3.1.6-sol10-sparc-local
gcc-3.4.6-sol10-sparc-local
glib-2.14.1-sol10-sparc-local
gmp-4.2.1-sol10-sparc-local
grep-2.5.4-sol10-sparc-local
gzip-1.3.12-sol10-sparc-local
inputproto-1.4.4.tar
jpeg-6b-sol10-sparc-local
kbproto-1.0.3.tar
libX11-1.1.5.tar
libXau-1.0.4.tar
libexif-0.6.16-sol10-sparc-local
libgcc-3.4.6-sol10-sparc-local
libgcrypt-1.2.4-sol10-sparc-local
libgdiplus-2.4.2.tar.bz2
libgpgerror-1.5-sol10-sparc-local
libiconv-1.11-sol10-sparc-local
libintl-3.4.0-sol10-sparc-local
libpng-1.2.38-sol10-sparc-local
libpthread-stubs-0.1.tar
libsigsegv-2.6-sol10-sparc-local
libtool-1.5.24-sol10-sparc-local
libxcb-1.1.tar
libxml2-2.6.31-sol10-sparc-local
libxslt-1.1.22-sol10-sparc-local
m4-1.4.12-sol10-sparc-local
make-3.81-sol10-sparc-local
mono-2.4.2.2.tar.bz2
pcre-7.9-sol10-sparc-local
pkgconfig-0.23-sol10-sparc-local
python-2.5.1-sol10-sparc-local
sed-4.2.1-sol10-sparc-local
tar-1.21-sol10-sparc-local
tiff-3.8.2-sol10-sparc-local
xcb-proto-1.1.tar
xextproto-7.0.3.tar
xproto-7.0.13.tar
xtrans-1.2.1.tar
zlib-1.2.3-sol10-sparc-local
#
# script based on info in
http://galactus.ximian.com/pipermail/mono-list/2009-January/040860.html
http://galactus.ximian.com/pipermail/mono-list/2009-January/040860.html .
This only used to run configure. I also edited
/usr/lib/pkgconfig/gthread-2.0.pc as described in that post.
#
bash-4.0# cat cfg_mono
cd mono-2.4.2.2
GREP=/usr/local/bin/grep MAKE=/usr/local/bin/make AR=/usr/local/bin/ar
RANLIB=/usr/local/bin/ranlib STRIP=/usr/local/bin/strip AS=/usr/local/bin/as
CC=/usr/local/bin/gcc CFLAGS="-g -O2" ./configure --prefix=/opt/mono
--with-tls=pthread --with-includes=/usr/local/include/
--with-libs=/usr/local/lib/
#
# script used to invoke make on mono
#
bash-4.0# cat build_mono
cd mono-2.4.2.2
ulimit -Hs $((10*1024))
prctl -s -t basic -n process.max-stack-size -v 8MB $$
prctl -s -t privileged -n process.max-stack-size -v 128MB $$
GREP=/usr/local/bin/grep MAKE=/usr/local/bin/make AR=/usr/local/bin/ar
RANLIB=/usr/local/bin/ranlib STRIP=/usr/local/bin/strip AS=/usr/local/bin/as
CC=/usr/local/bin/gcc CFLAGS="-g -O2" make $1
#
# script used to configure libgdi
#
bash-4.0# cat build_gdi
cd libgdiplus-2.4.2
GREP=/usr/local/bin/grep MAKE=/usr/local/bin/make AR=/usr/local/bin/ar
RANLIB=/usr/local/bin/ranlib STRIP=/usr/local/bin/strip AS=/usr/local/bin/as
CC=/usr/local/bin/gcc ./configure --prefix=/opt/mono --without-libgif
--without-libexif
bash-4.0# env
LDFLAGS=-L/opt/lib -L/opt/local/lib -L/usr/local/lib -L/usr/lib -lstdc++
HZ=
TERM=xterm
SHELL=/sbin/sh
CPPFLAGS=-I/opt/include -I/opt/local/include -I/usr/local/include
-I/usr/include
OLDPWD=/export/home/smithti/mono_build/src/mono-2.4.2.2
LD_LIBRARY_PATH=/opt/mono/lib:/opt/local/lib:/usr/local/lib:/usr/lib
PATH=/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin
MAIL=/var/mail/root
PWD=/export/home/smithti/mono_build/src
TZ=US/Central
SHLVL=1
HOME=/
LOGNAME=root
_=/usr/local/bin/env
--
View this message in context: http://www.nabble.com/Compiling-Mono-v2.4-RC2-%28Solaris-10-SPARCv9%29-tp22587130p24652419.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
More information about the Mono-devel-list
mailing list