[Openembedded-users] External toolchain + uclibc

Rahul Gundecha rahul.gundecha at gmail.com
Tue Jan 18 15:25:11 UTC 2011


Here is what I am doing -
I am having a external toolchain based on glibc. I want to build uclibc
library of OE. And compile other packages against uclibc library for ARM.

I have a recipe external-toolchain-<vendor>.bb in openembedded/recipes/meta/
directory.
Problem here is I do not find file /usr/include/bits/uClibc_config.h in
oe/tmp/sysroots/ directory which signifies that this is a uclibc system.

Pasting my local.conf file contents below.
DL_DIR = "${PWD}/oe_sources"
TMPDIR = "${PWD}/tmp"

# BitBake configuration
BBFILES = "${PWD}/openembedded/recipes/*/*.bb"
BBFILES += "${PWD}/local/recipes/*/*.bb"
BBFILE_COLLECTIONS="upstream local"
BBFILE_PATTERN_upstream = "^${PWD}/openembedded/"
BBFILE_PATTERN_local = "^${PWD}/local/"
BBFILE_PRIORITY_upstream = "5"
BBFILE_PRIORITY_local = "10"
BBMASK = ""

PREFERRED_PROVIDERS = "virtual/qte:qte virtual/libqpe:libqpe-opie"
PREFERRED_PROVIDERS += " virtual/libsdl:libsdl-qpe"
#PREFERRED_PROVIDERS += "
virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
#PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
#PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
PREFERRED_PROVIDER_virtual/libx11 = "diet-x11"

PREFERRED_PROVIDER_linux-libc-headers = "external-toolchain"
PREFERRED_PROVIDER_glibc-thread-db = "external-toolchain"
PREFERRED_PROVIDER_libstdc++ = "external-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial =
"external-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate =
"external-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-toolchain"
PREFERRED_PROVIDER_virtual/binutils = "external-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc =
"external-toolchain"
PREFERRED_PROVIDER_libgcc = "external-toolchain"
PREFERRED_PROVIDER_virtual/libc = "external-toolchain"
PREFERRED_PROVIDER_virtual/libintl = "external-toolchain"
PREFERRED_PROVIDER_virtual/libiconv = "external-toolchain"

ASSUME_PROVIDED += " linux-libc-headers "
ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}gcc "
ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}gcc-cross "
ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}gcc-initial "
ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}gcc-intermediate "
ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}binutils "
ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}libc-for-gcc "
ASSUME_PROVIDED += " libgcc "
ASSUME_PROVIDED += " libstdc++ "
ASSUME_PROVIDED += " virtual/libc "
ASSUME_PROVIDED += " virtual/libintl "
ASSUME_PROVIDED += " virtual/libiconv "

ASSUME_SHLIBS = "libc.so.6:libc libstdc++.so.6:libstdc++
libgcc_s.so.1:libgcc libm.so.6:libm libdl.so.2:libdl libcrypt.so.1:libcrypt
libutil.so.1:libutil"

MACHINE="<machine-name>"
DISTRO="mcm"
IMAGE_FSTYPES = "jffs2"
ENABLE_BINARY_LOCALE_GENERATION = "0"
#PARALLEL_MAKE = "-j 2"
#BB_NUMBER_THREADS = "2"

IPKG_ARCHS = "all armv5te ${MACHINE}"
TARGET_ARCH = "arm"
TARGET_VENDOR = "<vendor-name>"
TARGET_OS = "linux-uclibc"
TARGET_FPU = "soft"

DISTRO_TYPE = "release"
INHERIT += " package_ipk package_tar debian"
PARALLEL_MAKE = "-j 2"
BBINCLUDELOGS = "yes"

export TOOLCHAIN_PATH =
"${PWD}/../<vendor-name>/toolchain/<toolchain-prefix>"
export PRE_BUILT =
"${PWD}/../<vendor-name>/toolchain/<toolchain-prefix>/<toolchain-prefix>"
export TOOLCHAIN_PREFIX = "<toolchain-prefix>"
export TOOLCHAIN_OPTIONS = " --sysroot=${PKG_CONFIG_SYSROOT_DIR} "

CVS_TARBALL_STASH = "http://www.oesources.org/source/current/"
export CC  = "<toolchain-prefix>-gcc-4.2.0
${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
export CXX = "<toolchain-prefix>-g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
export CPP = "<toolchain-prefix>-gcc-4.2.0 -E${TOOLCHAIN_OPTIONS}"
export LD = "<toolchain-prefix>-ld${TOOLCHAIN_OPTIONS}"
export AR  = "<toolchain-prefix>-ar"
export AS  = "<toolchain-prefix>-as"
export RANLIB  = "<toolchain-prefix>-ranlib"
export STRIP  = "<toolchain-prefix>-strip"
export OBJCOPY  = "<toolchain-prefix>-objcopy"
BB_NUMBER_THREADS = "1"

On Tue, Jan 18, 2011 at 12:40 PM, Khem Raj <raj.khem at gmail.com> wrote:

> On (18/01/11 12:34), Rahul Gundecha wrote:
> > Hi all,
> >
> > I am building OE using external toolchain with uclibc. Does anyone did
> this
> > process before? If yes, please point me the procedure for it.
> >
> > I am able to build OE using external toolchain with glibc. However I
> > referred to sample config files and made necessary changes to build using
> > uclibc. No luck in this case.
>
> what did you do to make uclibc external toolchains and what sort of errors
> do you end up with.
>
> >
> > Thanks,
> > Rahul
>
> > _______________________________________________
> > Openembedded-users mailing list
> > Openembedded-users at linuxtogo.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-users/attachments/20110118/69d21f0f/attachment-0002.html>


More information about the Openembedded-users mailing list