[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