[uClibc] buildroot error building ARM version on linux

John Lewis lewistotle at yahoo.com
Fri Jan 23 12:06:12 UTC 2004


Ok, at the suggestion of several people here, I have given up on
getting the build tools working under cygwin and have switched over
to building everything under linux.

I'm targeting an arm processor for this and building on an i386 linux
box.

I can build the toolchain without any problems, but when I try to
build buildroot, I'm not so lucky.

After buildroot churns away for quite a while doing it's thing, it
stops with the following error:

checking whether the C compiler (
/home/john/buildroot/toolchain_build_arm_nofpu/gcc-3.3-final/gcc/xgcc
-B/home/john/buildroot/toolchain_build_arm_nofpu/gcc-3.3-final/gcc/
-msoft-float
-B/home/john/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/bin/
-B/home/john/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/lib/
-isystem
/home/john/buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibc/include
-g -Os ) works... no
configure: error: installation or configuration problem: C compiler
cannot create executables.
make[1]: *** [configure-target-libiberty] Error 1
make[1]: Leaving directory
`/home/john/buildroot/toolchain_build_arm_nofpu/gcc-3.3-final'
make: ***
[/home/john/buildroot/toolchain_build_arm_nofpu/gcc-3.3-final/.compiled]
Error 2

Any ideas?

Here's the beginning of my makefile if that helps:

# What sortof target system shall we compile this for?
#ARCH:=i386
ARCH:=arm
#ARCH:=mips
#ARCH:=mipsel
#ARCH:=powerpc
#ARCH:=sh4
# Busybox link failing due to needing libgcc functions that are
statics.
#ARCH:=cris

# The following currently fail to build since no shared lib support.
#ARCH:=sh64
#ARCH:=m68k
#ARCH:=v850
#ARCH:=sparc
#ARCH:=whatever

# Enable this if you want to use an <arch>-linux-uclibc-* toolchain.
# Note that, to avoid configure problems with apps that don't support
# this tupple, we also put <arch>-linux-* symlinks in
staging_dir/bin.
# This is the preferred approach now.
USE_LINUX_UCLIBC:=true

# If you are building a native gcc toolchain, do you want to
# build the old gcc-2.95 based toolchain, or would you prefer
# a nice and shiny new gcc-3.3.2 toolchain?
# WARNING -- 2.95 currently does not build unless
USE_LINUX_UCLIBC:=true.
# WARNING -- 2.95 currently only builds for i386, arm, mips*, and
powerpc.
# WARNING -- 2.95 does not currently build natively for the target.
#GCC_2_95_TOOLCHAIN:=true
GCC_2_95_TOOLCHAIN:=false

# Enable this to use the uClibc daily snapshot instead of a released
# version.  Daily snapshots may contain new features and bugfixes. Or
# they may not even compile at all, depending on what Erik is
doing...
USE_UCLIBC_SNAPSHOT:=false

# Enable this to use the busybox daily snapshot instead of a released
# version.  Daily snapshots may contain new features and bugfixes. Or
# they may not even compile at all....
USE_BUSYBOX_SNAPSHOT:=false

# Enable large file (files > 2 GB) support
BUILD_WITH_LARGEFILE:=false

# Command used to download source code
WGET:=wget --passive-ftp

# Optimize toolchain for which type of CPU?
ifeq ($(USE_LINUX_UCLIBC),true)
OPTIMIZE_FOR_CPU=$(ARCH)
#OPTIMIZE_FOR_CPU=i686
# Note... gcc 2.95 does not seem to like anything higher than i586.
#OPTIMIZE_FOR_CPU=i586
#OPTIMIZE_FOR_CPU=whatever
else
# WARNING!!!  CURRENTLY BROKEN!!! LEAVE IT AS $(ARCH)!!!
OPTIMIZE_FOR_CPU=$(ARCH)
# WARNING!!!  CURRENTLY BROKEN!!! LEAVE IT AS $(ARCH)!!!
endif

# Soft floating point options.
# Notes:
#   Currently builds with gcc 3.3 for arm, mips, mipsel, powerpc.
#   (i386 support will be added back in at some point.)
#   Only tested with multilib enabled.
#   For i386, long double is the same as double (64 bits).  While
this
#      is unusual for x86, it seemed the best approach considering
the
#      limitations in the gcc floating point emulation library.
#   For arm, soft float uses the usual libfloat routines.
#   Custom specs files are used to set the default gcc mode to soft
float
#      as a convenience, since you shouldn't link hard and soft float
#      together.  In fact, arm won't even let you.
# (Un)comment the appropriate line below.
#SOFT_FLOAT:=true
SOFT_FLOAT:=false

TARGET_OPTIMIZATION=-Os
TARGET_DEBUGGING= #-g

# Any additional gcc options you may want to include....
EXTRA_GCC_CONFIG_OPTIONS:=

# Enable the following if you want locale/gettext/i18n support.
# NOTE!  Currently the pregnerated locale stuff only works for x86!
#ENABLE_LOCALE:=true
ENABLE_LOCALE:=false

# If you want multilib enabled, enable this...
MULTILIB:=--enable-multilib

# Build/install c++ compiler and libstdc++?
INSTALL_LIBSTDCPP:=true

# For SMP machines some stuff can be run in parallel
#JLEVEL=-j3

#############################################################
#
# The list of stuff to build for the target filesystem
#
#############################################################
TARGETS:=host-sed

ifeq ($(GCC_2_95_TOOLCHAIN),true)
TARGETS+=uclibc-configured binutils gcc2_95
else
TARGETS+=uclibc-configured binutils gcc3_3
endif

# Do you want user mode Linux (x86 only), or are you building a
# your own kernel that will run on its own?  Perhaps you have a
# kernel you have already configured and you want to use that?
# The default is to just use a set of known working kernel
# headers.  Unless you want to build a kernel, I recommend just
# using that...
TARGETS+=kernel-headers
#TARGETS+=linux
#TARGETS+=user-mode-linux
#TARGETS+=system-linux

# The default minimal set
TARGETS+=busybox tinylogin

# Openssh...
#TARGETS+=zlib openssl openssh
# Dropbear sshd is much smaller than openssl + openssh
#TARGETS+=dropbear_sshd

# Everything needed to build a full uClibc development system!
#TARGETS+=coreutils findutils bash make diffutils patch sed
#TARGETS+=ed flex bison file gawk tar grep bzip2

#If you want a development system, you probably want gcc built
# with uClibc so it can run within your dev system...
#TARGETS+=gcc2_95_target ccache_target
#TARGETS+=gcc3_3_target ccache_target

# Of course, if you are installing a development system, you
# may want some header files so you can compile stuff....
#TARGETS+=ncurses-headers zlib-headers openssl-headers

# More development system stuff for those that want it
#TARGETS+=m4 autoconf automake libtool

# Perl
#TARGETS+=perl

# Some nice debugging tools
#TARGETS+=gdb strace

# The Valgrind debugger (x86 only)
#TARGETS+=valgrind

# Some stuff for access points and firewalls
#TARGETS+=iptables hostap wtools dhcp_relay bridge
#TARGETS+=iproute2 netsnmp

# Run customize.mk at the very end to add your own special config.
# This is useful for making your own distro within the buildroot
# process.
# TARGETS+=customize

#############################################################
#
# Pick your root filesystem type.
#
#############################################################
#TARGETS+=ext2root

# Must mount cramfs with 'ramdisk_blocksize=4096'
#TARGETS+=cramfsroot

# You may need to edit make/jffs2root.mk to change target
# endian-ness or similar, but this is sufficient for most
# things as-is...
TARGETS+=jffs2root





__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/



More information about the uClibc mailing list