Bug 4399 - Unable to use Ubuntu 11.10 arm cross compiler
Summary: Unable to use Ubuntu 11.10 arm cross compiler
Status: RESOLVED INVALID
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 normal
Target Milestone: 2011.08
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-29 15:29 UTC by Alexander
Modified: 2011-10-30 20:27 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
A patch, can be used as workaround (1.74 KB, patch)
2011-10-29 15:36 UTC, Alexander
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander 2011-10-29 15:29:59 UTC
Attempt to use ubuntu arm cross-compiler (package gcc-4.6-arm-linux-gnueabi) as an external toolchain fails with the following message:

Checking external toolchain settings
Incorrect selection of the C library
make: *** [/home/fenixk19/Development/samsung/OS/buildroot/output/stamps/ext-toolchain-checked] Ошибка 255

Thats because there is a string in ext-tool.mk:
SYSROOT_DIR=`readlink -f $$(LANG=C $(TOOLCHAIN_EXTERNAL_CC) -print-file-name=libc.a) |sed -r -e 's:usr/lib/libc\.a::;'` ; 

But "arm-linux-gnueabi-gcc -print-file-name=libc.a" returns "/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../../arm-linux-gnueabi/lib/../lib/libc.a"

So sed works with wrong pattern here. This should be 's:lib/libc\.a::;' for Ubuntu.
Comment 1 Alexander 2011-10-29 15:36:25 UTC
Created attachment 3703 [details]
A patch, can be used as workaround
Comment 2 Thomas Petazzoni 2011-10-30 20:27:21 UTC
I had the same problem trying to use the Ubuntu ARM cross-compiler. Unfortunately, while it allows to go a bit further, it doesn't fix the fact that the Ubuntu ARM cross-compiler is not a *pure* toolchain: it contains many more libraries and utilities compiled for the target than a normal toolchain, and this doesn't play well with build systems, including Buildroot.

For that reason, we do not support building with the Ubuntu ARM cross-compiler at the moment. Either build your toolchain with Buildroot or Crosstool-NG, or get a pre-compiled one from CodeSourcery (which offers pure toolchains).