Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Currently I try to build a embedded Linux from scratch with the instructions from Cross Linux from Scratch.

Everything worked fine until I tried to compile the GCC Cross-Compiler. I want to build the Linux for the Beagleboard-xM... So I choosed the following settings:

export CLFS_ABI="aapcs-linux"
export CLFS_HOST="x86_64-cross-linux-gnu"
export CLFS_TARGET="armv7a-unknown-linux-uclibceabi"
export CLFS_ARCH="arm"
export CLFS_ENDIAN="little"
export CLFS_ARM_ARCH="armv7"
export CLFS_ARM_MODE="arm"
export CLFS_FLOAT="hard"
export CLFS_FPU="neon"

No as soon as I try to run the instructions on this page the command make all-gcc all-target-libgcc runs into an error.

checking for armv7a-unknown-linux-uclibceabi-gcc...  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include   
checking for suffix of object files... configure: error: in `/mnt/clfs/sources/gcc-build/armv7a-unknown-linux-uclibceabi/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make: *** [configure-target-libgcc] Error 1

and the /mnt/clfs/sources/gcc-build/armv7a-unknown-linux-uclibceabi/libgcc/config.log looks like this:

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

It was created by GNU C Runtime Library configure 1.0, which was
generated by GNU Autoconf 2.64.  Invocation command line was

  $ /mnt/clfs/sources/gcc-4.6.0/libgcc/configure --cache-file=./config.cache --with-cross-host=x86_64-cross-linux-gnu --prefix=/mnt/clfs/cross-tools --with-sysroot=/mnt/clfs --disable-nls --disable-shared --without-headers --with-newlib --disable-decimal-float --disable-libgomp --disable-libmudflap --disable-libssp --disable-threads --disable-multilib --with-abi=aapcs-linux --with-arch=armv7 --with-mode=arm --with-float=hard --with-fpu=neon --enable-languages=c,lto --program-transform-name=s&^&armv7a-unknown-linux-uclibceabi-& --disable-option-checking --with-target-subdir=armv7a-unknown-linux-uclibceabi --build=x86_64-cross-linux-gnu --host=armv7a-unknown-linux-uclibceabi --target=armv7a-unknown-linux-uclibceabi --srcdir=../../../gcc-4.6.0/libgcc

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

hostname = virtualUbuntu
uname -m = x86_64
uname -r = 3.2.0-31-generic
uname -s = Linux
uname -v = #50-Ubuntu SMP Fri Sep 7 16:16:45 UTC 2012

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

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

PATH: /mnt/clfs/cross-tools/bin
PATH: /bin
PATH: /usr/bin


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

configure:1742: creating cache ./config.cache
configure:1903: checking for --enable-version-specific-runtime-libs
configure:1916: result: no
configure:1964: checking for a BSD-compatible install
configure:2032: result: /usr/bin/install -c
configure:2048: checking for gawk
configure:2075: result: gawk
configure:2095: checking build system type
configure:2109: result: x86_64-cross-linux-gnu
configure:2129: checking host system type
configure:2142: result: armv7a-unknown-linux-uclibceabi
configure:2245: checking for armv7a-unknown-linux-uclibceabi-ar
configure:2272: result: /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ar
configure:2337: checking for armv7a-unknown-linux-uclibceabi-lipo
configure:2364: result: armv7a-unknown-linux-uclibceabi-lipo
configure:2429: checking for armv7a-unknown-linux-uclibceabi-nm
configure:2456: result: /mnt/clfs/sources/gcc-build/./gcc/nm
configure:2521: checking for armv7a-unknown-linux-uclibceabi-ranlib
configure:2548: result: /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ranlib
configure:2613: checking for armv7a-unknown-linux-uclibceabi-strip
configure:2640: result: /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/strip
configure:2702: checking whether ln -s works
configure:2706: result: yes
configure:2723: checking for armv7a-unknown-linux-uclibceabi-gcc
configure:2750: result:  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include   
configure:3019: checking for C compiler version
configure:3028:  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include    --version >&5
xgcc (GCC) 4.6.0
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3039: $? = 0
configure:3028:  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include    -v >&5
Reading specs from /mnt/clfs/sources/gcc-build/./gcc/specs
COLLECT_GCC=/mnt/clfs/sources/gcc-build/./gcc/xgcc
COLLECT_LTO_WRAPPER=/mnt/clfs/sources/gcc-build/./gcc/lto-wrapper
Target: armv7a-unknown-linux-uclibceabi
Configured with: ../gcc-4.6.0/configure --prefix=/mnt/clfs/cross-tools --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu --target=armv7a-unknown-linux-uclibceabi --with-sysroot=/mnt/clfs --disable-nls --disable-shared --with-mpfr=/mnt/clfs/cross-tools --with-gmp=/mnt/clfs/cross-tools --with-mpc=/mnt/clfs/cross-tools --without-headers --with-newlib --disable-decimal-float --disable-libgomp --disable-libmudflap --disable-libssp --disable-threads --enable-languages=c --disable-multilib --with-abi=aapcs-linux --with-arch=armv7 --with-mode=arm --with-float=hard --with-fpu=neon
Thread model: single
gcc version 4.6.0 (GCC) 
configure:3039: $? = 0
configure:3028:  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include    -V >&5
xgcc: error: unrecognized option '-V'
xgcc: fatal error: no input files
compilation terminated.
configure:3039: $? = 1
configure:3028:  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include    -qversion >&5
xgcc: error: unrecognized option '-qversion'
xgcc: fatal error: no input files
compilation terminated.
configure:3039: $? = 1
configure:3055:  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include    -o conftest -g -O2   conftest.c  >&5
conftest.c:1:0: error: target CPU does not support ARM mode
configure:3058: $? = 1
configure:3246: checking for suffix of object files
configure:3268:  /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include    -c -g -O2  conftest.c >&5
conftest.c:1:0: error: target CPU does not support ARM mode
configure:3272: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU C Runtime Library"
| #define PACKAGE_TARNAME "libgcc"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "GNU C Runtime Library 1.0"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL "http://www.gnu.org/software/libgcc/"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3286: error: in `/mnt/clfs/sources/gcc-build/armv7a-unknown-linux-uclibceabi/libgcc':
configure:3289: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

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

ac_cv_build=x86_64-cross-linux-gnu
ac_cv_env_CC_set=set
ac_cv_env_CC_value=' /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include   '
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-g -O2'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=set
ac_cv_env_build_alias_value=x86_64-cross-linux-gnu
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=armv7a-unknown-linux-uclibceabi
ac_cv_env_target_alias_set=set
ac_cv_env_target_alias_value=armv7a-unknown-linux-uclibceabi
ac_cv_host=armv7a-unknown-linux-uclibceabi
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_AR=/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ar
ac_cv_prog_AWK=gawk
ac_cv_prog_CC=' /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include   '
ac_cv_prog_LIPO=armv7a-unknown-linux-uclibceabi-lipo
ac_cv_prog_NM=/mnt/clfs/sources/gcc-build/./gcc/nm
ac_cv_prog_RANLIB=/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ranlib
ac_cv_prog_STRIP=/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/strip

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

AR='/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ar'
AWK='gawk'
CC=' /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include   '
CFLAGS='-g -O2'
CPP=''
CPPFLAGS=''
DEFS=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EXEEXT=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIPO='armv7a-unknown-linux-uclibceabi-lipo'
LN_S='ln -s'
LTLIBOBJS=''
MAINT='#'
NM='/mnt/clfs/sources/gcc-build/./gcc/nm'
OBJEXT=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME='GNU C Runtime Library'
PACKAGE_STRING='GNU C Runtime Library 1.0'
PACKAGE_TARNAME='libgcc'
PACKAGE_URL='http://www.gnu.org/software/libgcc/'
PACKAGE_VERSION='1.0'
PATH_SEPARATOR=':'
RANLIB='/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ranlib'
SHELL='/bin/bash'
STRIP='/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/strip'
ac_ct_CC=''
asm_hidden_op=''
bindir='${exec_prefix}/bin'
build='x86_64-cross-linux-gnu'
build_alias='x86_64-cross-linux-gnu'
build_cpu='x86_64'
build_libsubdir='build-x86_64-cross-linux-gnu'
build_os='linux-gnu'
build_subdir='build-x86_64-cross-linux-gnu'
build_vendor='cross'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
decimal_float=''
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
enable_decimal_float='no'
enable_shared='no'
exec_prefix='NONE'
extra_parts=''
fixed_point=''
host='armv7a-unknown-linux-uclibceabi'
host_alias='armv7a-unknown-linux-uclibceabi'
host_cpu='armv7a'
host_noncanonical='armv7a-unknown-linux-uclibceabi'
host_os='linux-uclibceabi'
host_subdir='.'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
libgcc_topdir='../../../gcc-4.6.0/libgcc/..'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/mnt/clfs/cross-tools'
program_transform_name='s&^&armv7a-unknown-linux-uclibceabi-&'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
set_have_cc_tls=''
set_use_emutls=''
sharedstatedir='${prefix}/com'
slibdir='$(exec_prefix)/$(host_noncanonical)/lib'
sysconfdir='${prefix}/etc'
target_alias='armv7a-unknown-linux-uclibceabi'
target_noncanonical='armv7a-unknown-linux-uclibceabi'
target_subdir='armv7a-unknown-linux-uclibceabi'
tmake_file=''
toolexecdir='$(exec_prefix)/$(target_noncanonical)'
toolexeclibdir='$(toolexecdir)/lib'
vis_hide=''

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

/* confdefs.h */
#define PACKAGE_NAME "GNU C Runtime Library"
#define PACKAGE_TARNAME "libgcc"
#define PACKAGE_VERSION "1.0"
#define PACKAGE_STRING "GNU C Runtime Library 1.0"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL "http://www.gnu.org/software/libgcc/"

configure: exit 1

What am I missing?

share|improve this question
    
Does CLFS_ARCH="thumb" work any better? I don't know why arm wouldn't work though, AFAIK uClibc supports both. –  Gilles Oct 4 '12 at 0:01
    
Yes, as soon as I change the CLFS_ARCH to thumb it works just fine... but is there a way to use the arm? –  HotPizzaBox Oct 4 '12 at 11:35
    
look at this: configure:3039: $? = 0 configure:3028: /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include -V >&5 xgcc: error: unrecognized option '-V' xgcc: fatal error: no input files compilation terminated. it trys to find the xgcc version with -V but on my ubuntu only the -v works... –  HotPizzaBox Oct 4 '12 at 14:33
add comment

1 Answer

The errors are likely from a wrong combination of build variables.

The CLFS Build Variable page has detailed explanation on the best combinations of variable settings for different architectures.

Similar configure script problems has been solved by changing the CLFS_ARCH variable to thumb

For another similar BeagleBoard configure script error, the following set of variables seem to do the trick: ARMv7-A Thumb-2 - Little-Endian, Soft-Float, GLIBC

If you have been using CLFS 1.x.x, consider using CLFS 2.x.x for a cleaner build approach, with updated documentation.

The best place to discuss CLFS issues is in the clfs-support mailing list, try asking your question there for further insights.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.