[Mono-dev] Problems cross compiling Mono itself for ARM with uClibc

freaky001 at gmx.net freaky001 at gmx.net
Thu Mar 13 16:53:27 EDT 2008


Hello,

I'm trying to cross compile the mono package 1.2.6 with my arm-linux-gcc-4.1.2 shipped with my development board synertronixx scb9520 with a preinstalled Linux RT 2.6.18 Kernel. I'm unsuccessfully trying this job for 1 month.

My host platform is a Fedora 8 i386 machine. I copied the cross compiler suite to /usr/local and set the environment variables, as you can see below:

# env | grep PATH
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/gcc-4.1.2-uClibc-0.9.29-xscale/bin:/root/bin

Then I unpacked the mono package to /usr/local and then I tried to configure it with the following command:
CC=arm-linux-gcc ./configure --prefix=/urs --target=arm-linux --with-glib=embedded --with-gc=boehm --with-static_mono=yes --disable-mcs-build --enable-static

All what I get as output are the following lines:
[root at localhost mono-1.2.6]# CC=arm-linux-gcc ./configure --prefix=/urs --target=arm-linux --with-glib=embedded --with-gc=boehm --with-static_mono=yes --disable-mcs-build --enable-static
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... arm-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether ln -s works... yes
./configure: line 2844: ./libtool: No such file or directory
checking host platform characteristics... ok
checking for gcc... arm-linux-gcc
checking for gcc... (cached) arm-linux-gcc
checking for C compiler default output file name... 
configure: error: C compiler cannot create executables
See `config.log' for more details.

Here is the config.log:
=======================

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.61.  Invocation command line was

  $ ./configure --prefix=/urs --target=arm-linux --with-glib=embedded --with-gc=boehm --with-static_mono=yes --disable-mcs-build --enable-static

## --------- ##
## Platform. ##
## --------- ##

hostname = localhost
uname -m = i686
uname -r = 2.6.24.3-12.fc8
uname -s = Linux
uname -v = #1 SMP Tue Feb 26 14:58:29 EST 2008

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = i686
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/kerberos/sbin
PATH: /usr/kerberos/bin
PATH: /usr/lib/ccache
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /sbin
PATH: /bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /usr/local/gcc-4.1.2-uClibc-0.9.29-xscale/bin
PATH: /root/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2119: checking build system type
configure:2137: result: i686-pc-linux-gnu
configure:2159: checking host system type
configure:2174: result: i686-pc-linux-gnu
configure:2196: checking target system type
configure:2211: result: arm-unknown-linux-gnu
configure:2261: checking for a BSD-compatible install
configure:2317: result: /usr/bin/install -c
configure:2328: checking whether build environment is sane
configure:2371: result: yes
configure:2399: checking for a thread-safe mkdir -p
configure:2438: result: /bin/mkdir -p
configure:2451: checking for gawk
configure:2467: found /bin/gawk
configure:2478: result: gawk
configure:2489: checking whether make sets $(MAKE)
configure:2510: result: yes
configure:2693: checking how to create a ustar tar archive
configure:2706: tar --version
tar (GNU tar) 1.17
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
configure:2709: $? = 0
configure:2749: tardir=conftest.dir && eval tar --format=ustar -chf - "$tardir" >conftest.tar
configure:2752: $? = 0
configure:2756: tar -xf - <conftest.tar
configure:2759: $? = 0
configure:2772: result: gnutar
configure:2779: checking whether to enable maintainer-specific portions of Makefiles
configure:2788: result: no
configure:2805: checking whether ln -s works
configure:2809: result: yes
configure:2857: checking host platform characteristics
configure:3062: result: ok
configure:3125: checking for gcc
configure:3152: result: arm-linux-gcc
configure:3226: checking for gcc
configure:3253: result: arm-linux-gcc
configure:3491: checking for C compiler version
configure:3498: arm-linux-gcc --version >&5
./configure: line 3499: /usr/local/gcc-4.1.2-uClibc-0.9.29-xscale/bin/arm-linux-gcc: cannot execute binary file
configure:3501: $? = 126
configure:3508: arm-linux-gcc -v >&5
./configure: line 3509: /usr/local/gcc-4.1.2-uClibc-0.9.29-xscale/bin/arm-linux-gcc: cannot execute binary file
configure:3511: $? = 126
configure:3518: arm-linux-gcc -V >&5
./configure: line 3519: /usr/local/gcc-4.1.2-uClibc-0.9.29-xscale/bin/arm-linux-gcc: cannot execute binary file
configure:3521: $? = 126
configure:3544: checking for C compiler default output file name
configure:3571: arm-linux-gcc   -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP  conftest.c  >&5
./configure: line 3572: /usr/local/gcc-4.1.2-uClibc-0.9.29-xscale/bin/arm-linux-gcc: cannot execute binary file
configure:3574: $? = 126
configure:3612: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "mono"
| #define VERSION "1.2.6"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3619: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=i686-pc-linux-gnu
ac_cv_env_BASE_DEPENDENCIES_CFLAGS_set=
ac_cv_env_BASE_DEPENDENCIES_CFLAGS_value=
ac_cv_env_BASE_DEPENDENCIES_LIBS_set=
ac_cv_env_BASE_DEPENDENCIES_LIBS_value=
ac_cv_env_CCASFLAGS_set=
ac_cv_env_CCASFLAGS_value=
ac_cv_env_CCAS_set=
ac_cv_env_CCAS_value=
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=set
ac_cv_env_CC_value=arm-linux-gcc
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_XMKMF_set=
ac_cv_env_XMKMF_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=set
ac_cv_env_target_alias_value=arm-linux
ac_cv_host=i686-pc-linux-gnu
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_ac_ct_CC=arm-linux-gcc
ac_cv_prog_make_make_set=yes
ac_cv_target=arm-unknown-linux-gnu
am_cv_prog_tar_ustar=gnutar

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /usr/local/mono-1.2.6/missing --run aclocal-1.10'
ALPHA_FALSE=''
ALPHA_TRUE=''
AMD64_FALSE=''
AMD64_TRUE=''
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /usr/local/mono-1.2.6/missing --run tar'
API_VER='1.0'
AR=''
ARM_FALSE=''
ARM_TRUE=''
AS=''
AUTOCONF='${SHELL} /usr/local/mono-1.2.6/missing --run autoconf'
AUTOHEADER='${SHELL} /usr/local/mono-1.2.6/missing --run autoheader'
AUTOMAKE='${SHELL} /usr/local/mono-1.2.6/missing --run automake-1.10'
AWK='gawk'
BASE_DEPENDENCIES_CFLAGS=''
BASE_DEPENDENCIES_LIBS=''
BISON=''
BUILD_EXEEXT=''
BUILD_GLIB_CFLAGS=''
BUILD_GLIB_LIBS=''
BUILD_MCS_FALSE=''
BUILD_MCS_TRUE=''
CC='arm-linux-gcc'
CCAS=''
CCASDEPMODE=''
CCASFLAGS=''
CCDEPMODE=''
CC_FOR_BUILD=''
CFLAGS=''
CFLAGS_FOR_BUILD=''
CPP=''
CPPFLAGS=' -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP'
CROSS_COMPILING_FALSE=''
CROSS_COMPILING_TRUE=''
CXX=''
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
DISABLE_SHARED_HANDLES=''
DLLTOOL=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGLIB_BUILD_FALSE=''
EGLIB_BUILD_TRUE=''
EGREP=''
ENABLE_NUNIT_TESTS_FALSE=''
ENABLE_NUNIT_TESTS_TRUE=''
EXEEXT=''
F77=''
FFLAGS=''
GLIB_CFLAGS=''
GLIB_LIBS=''
GMODULE_CFLAGS=''
GMODULE_LIBS=''
GREP=''
HAVE_BOEHM_GC=''
HAVE_ZLIB_FALSE=''
HAVE_ZLIB_TRUE=''
HOST_CC=''
HPPA_FALSE=''
HPPA_TRUE=''
IA64_FALSE=''
IA64_TRUE=''
INCLUDED_LIBGC_FALSE=''
INCLUDED_LIBGC_TRUE=''
INSTALL_2_0_FALSE=''
INSTALL_2_0_TRUE=''
INSTALL_2_1_FALSE=''
INSTALL_2_1_TRUE=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
INTERP_SUPPORTED_FALSE=''
INTERP_SUPPORTED_TRUE=''
INTL=''
JIT_SUPPORTED_FALSE=''
JIT_SUPPORTED_TRUE=''
LDFLAGS=''
LIBC=''
LIBGC_CFLAGS=''
LIBGC_LIBS=''
LIBGC_STATIC_LIBS=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LN_S='ln -s'
LTLIBOBJS=''
M68K_FALSE=''
M68K_TRUE=''
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /usr/local/mono-1.2.6/missing --run makeinfo'
MIPS_FALSE=''
MIPS_GCC_FALSE=''
MIPS_GCC_TRUE=''
MIPS_SGI_FALSE=''
MIPS_SGI_TRUE=''
MIPS_TRUE=''
MONO_DEBUGGER_SUPPORTED_FALSE=''
MONO_DEBUGGER_SUPPORTED_TRUE=''
MONO_DL_NEED_USCORE=''
NO_VERSION_SCRIPT_FALSE=''
NO_VERSION_SCRIPT_TRUE=''
OBJDUMP=''
OBJEXT=''
PACKAGE='mono'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PKG_CONFIG=''
PLATFORM_WIN32_FALSE=''
PLATFORM_WIN32_TRUE='#'
POWERPC_FALSE=''
POWERPC_TRUE=''
RANLIB=''
S390_FALSE=''
S390_TRUE=''
S390x_FALSE=''
S390x_TRUE=''
SED=''
SET_MAKE=''
SHELL='/bin/sh'
SPARC64_FALSE=''
SPARC64_TRUE=''
SPARC_FALSE=''
SPARC_TRUE=''
SQLITE3=''
SQLITE=''
STATIC_MONO_FALSE=''
STATIC_MONO_TRUE=''
STRIP=''
USE_JIT_FALSE=''
USE_JIT_TRUE=''
VERSION='1.2.6'
X11=''
X86_FALSE=''
X86_TRUE=''
XATTR_LIB=''
XMKMF=''
ac_ct_CC='arm-linux-gcc'
ac_ct_CXX=''
ac_ct_F77=''
am__fastdepCCAS_FALSE=''
am__fastdepCCAS_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='tar --format=ustar -chf - "$$tardir"'
am__untar='tar -xf -'
arch_target=''
bindir='${exec_prefix}/bin'
build='i686-pc-linux-gnu'
build_alias=''
build_cpu='i686'
build_os='linux-gnu'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='NONE'
export_ldflags=''
host='i686-pc-linux-gnu'
host_alias=''
host_cpu='i686'
host_os='linux-gnu'
host_vendor='pc'
htmldir='${docdir}'
ikvm_native_dir=''
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /usr/local/mono-1.2.6/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
libgc_dir=''
libgdiplus_loc=''
libmono_cflags='-D_REENTRANT'
libmono_ldflags='-lpthread'
libsuffix=''
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mcs_topdir=''
mcs_topdir_from_srcdir=''
mkdir_p='/bin/mkdir -p'
mono_build_root=''
mono_cfg_dir=''
mono_runtime=''
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/urs'
program_transform_name='s&^&arm-linux-&'
psdir='${docdir}'
reloc_libdir='lib'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
subdirs=''
sysconfdir='${prefix}/etc'
target='arm-unknown-linux-gnu'
target_alias='arm-linux'
target_cpu='arm'
target_os='linux-gnu'
target_vendor='unknown'

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE "mono"
#define VERSION "1.2.6"

configure: exit 77

I only need the cross compiled files, that I would copy on my development board to run my applications on it. The development job I would like do on my native F8 machine.

Do you have any suggestions on how I configure | make | make install mono for my ARM board, or can anybody do this for me - of course with my gcc and uClibc - versions.

Thank you in advance!

Thomas
-- 
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/?mc=sv_ext_mf@gmx


More information about the Mono-devel-list mailing list