Hi!, I'm trying to build a kernel for the i.MX21 with the cross compilation tools delivered by freescale. To do that, I modified the local.conf so that the cross compilers appeared there (I send as and attachement) and run bitbake virtual/kernel. I get an error that I don't know how to solve... and I also send the log in order to ask for some help.
Thanks you all, Nacho
# # OpenEmbedded local configuration file (sample) # # Please visit the Wiki at http://openembedded.org/ for more info. # # # Be SURE to read this file in its entirety and the GettingStarted page on the # wiki before proceeding. # # Once you have done that, remove the line at the end of this # file and build away. # # WARNING: lines starting with a space (' ') will result in parse failures. # Remove '# ' from commented lines to activate them. # # NOTE: Do NOT use $HOME in your paths, BitBake does NOT expand ~ for you. If you # must have paths relative to your homedir use ${HOME} (note the {}'s there # you MUST have them for the variable expansion to be done by BitBake). Your # paths should all be absolute paths (They should all start with a / after # expansion. Stuff like starting with ${HOME} or ${TOPDIR} is ok). # Use this to specify where BitBake should place the downloaded sources into DL_DIR = "/OE/sources" # Delete the line below. Then specify which .bb files to consider for # your build. Typically this will be something like BBFILES = "/path/to/openembedded/packages/*/*.bb" # Los paquetes donde estarán los archivos qyue necesito para compilar las cosas BBFILES := "/OE/org.openembedded.dev/packages/*/*.bb" # Use the BBMASK below to instruct BitBake to _NOT_ consider some .bb files # This is a regulary expression, so be sure to get your parenthesis balanced. # En principio, los considero todos.... BBMASK = "" # Uncomment this if you want to use a prebuilt toolchain. You will need to # provide packages for toolchain and additional libraries yourself. You also # have to set PATH in your environment to make sure BitBake finds additional binaries. # Note: You will definitely need to say: ASSUME_PROVIDED += "virtual/arm-linux-gcc-2.95" # to build any of two Linux 2.4 Embedix kernels, # i.e. openzaurus-sa-2.4.18 and openzaurus-pxa-2.4.18 - and don't forget # to rename the binaries as instructed in the Wiki. # ASSUME_PROVIDED += "virtual/${TARGET_PREFIX}gcc virtual/libc" # Select between multiple alternative providers, if more than one is eligible. PREFERRED_PROVIDERS = "virtual/qte:qte virtual/libqpe:libqpe-opie" PREFERRED_PROVIDERS += " virtual/libsdl:libsdl-x11" 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" # Uncomment this to specify where BitBake should create its temporary files. # Note that a full build of everything in OpenEmbedded will take GigaBytes of hard # disk space, so make sure to free enough space. The default TMPDIR is # <build directory>/tmp # Don't use symlinks in in the path to avoid problems # Lo pongo aquí TMPDIR = "/OE/build/tmp/${DISTRO}" # Uncomment this to specify a machine to build for. See the conf directory # for machines currently known to OpenEmbedded. This will automatically take care # of TARGET_ARCH MACHINE = "mx21ads" # Use this to specify the target architecture. Note that this is only # needed when building for a machine not known to OpenEmbedded. Better use # the MACHINE attribute (see above) # TARGET_ARCH = "arm" # Use this to specify the target operating system. The default is "linux", # for a normal linux system with glibc. Set this to "linux-uclibc" if you want # to build a uclibc based system. # Normally the DISTRO of your choosing will take care of this # TARGET_OS = "linux" # TARGET_OS = "linux-uclibc" # Uncomment this to select a distribution policy. See the conf directory # for distributions currently known to OpenEmbedded. # Although it no longer contain version number in the (file-)name # openzaurus-unstable is a so called "versioned" distro, i.e. they # explicitely select specific versions of various packages. # Stay away from unversioned distros unless you really know what you are doing DISTRO = "angstrom-2007.1" # So far, angstrom.conf sets ENABLE_BINARY_LOCALE_GENERATION # to generate binary locale packages at build time using qemu-native and # thereby guarantee i18n support on all devices. If your build breaks on # qemu-native consider disabling ENABLE_BINARY_LOCALE_GENERATION (note that # this breaks i18n on devices with less than 128MB RAM) or installing # a working third-party qemu (e.g. provided by your distribution) and # adding qemu-native to ASSUME_PROVIDED. Caveat emptor, since third-party # qemus lack patches needed to work with various OE targets. # ENABLE_BINARY_LOCALE_GENERATION = "0" # ASSUME_PROVIDED += "qemu-native" # If ENABLE_BINARY_LOCALE_GENERATION is set to "1", you can limit locales # generated to the list provided by GLIBC_GENERATE_LOCALES. This is huge # time-savior for developmental builds. Format: list of locale.encoding pairs # with spaces as separators. # GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 de_DE.UTF-8" # Uncomment this to select a particular major kernel version if the MACHINE setting # supports more than one major kernel version. Currently this is suported by the # following MACHINE types: poodle, tosa and simpad. # MACHINE_KERNEL_VERSION = "2.6" # Uncomment one of these to build packages during the build process. # This is done automatically if you set DISTRO (see above) # INHERIT = "package_ipk" # INHERIT = "package_tar" # Add the required image file system types below. Valid are # jffs2, tar(.gz|bz2), cpio(.gz), cramfs, ext2(.gz), ext3(.gz) # squashfs, squashfs-lzma IMAGE_FSTYPES = "jffs2 tar.gz" # Uncomment this to disable the parse cache (not recommended). # CACHE = "" # Uncomment this if you want BitBake to emit debugging output # BBDEBUG = "yes" # Uncomment these two if you want BitBake to build images useful for debugging. # Note that INHIBIT_PACKAGE_STRIP needs a package format to be defined. # Also note that OE now produces -dbg packages which contain debugging symbols. # DEBUG_BUILD = "1" # INHIBIT_PACKAGE_STRIP = "1" # Uncomment these to build a package such that you can use gprof to profile it. # NOTE: This will only work with 'linux' targets, not # 'linux-uclibc', as uClibc doesn't provide the necessary # object files. Also, don't build glibc itself with these # flags, or it'll fail to build. # # PROFILE_OPTIMIZATION = "-pg" # SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}" # LDFLAGS =+ "-pg" # Uncomment this to enable parallel make. # This allows make to spawn mutliple processes to take advantage of multiple # processors. Useful on SMP machines. This may break some packages - we're # in the process of marking these so let us know if you find any. PARALLEL_MAKE = "-j 4" # Uncomment this if you want BitBake to emit the log if a build fails. BBINCLUDELOGS = "yes" # Specifies a location to search for pre-generated tarballs when fetching # a cvs:// URI. Outcomment this, if you always want to pull directly from CVS. #CVS_TARBALL_STASH = "" # EDIT THIS FILE and then remove the line below before using! # Añado los exports de la toolchain para cross compilar export CC = "arm-linux-gcc" export CXX = "arm-linux-g++" export CPP = "arm-linux-gcc -E" export LD = "arm-linux-ld" export AR = "arm-linux-ar" export AS = "arm-linux-as" export RANLIB = "arm-linux-ranlib" export STRIP = "arm-linux-strip"
NOTE: make -j 4 ARCH_FLAGS_FOR_TARGET=-isystem/OE/build/tmp/angstrom/staging/i686-linux/include make[1]: Entering directory `/OE/build/tmp/angstrom/work/armv5te-angstrom-linux-gnueabi/gcc-cross-initial-4.1.2-r13/gcc-4.1.2/build.i686-linux.arm-angstrom-linux-gnueabi' mkdir -p -- ./fixincludes mkdir -p -- ./intl mkdir -p -- build-i686-linux/libiberty Configuring in ./fixincludes Configuring in build-i686-linux/libiberty mkdir -p -- ./libiberty Configuring in ./intl Configuring in ./libiberty configure: loading site script /OE/org.openembedded.dev/site/endian-little configure: loading site script /OE/org.openembedded.dev/site/endian-little configure: loading site script /OE/org.openembedded.dev/site/common-glibc configure: loading site script /OE/org.openembedded.dev/site/common-glibc configure: creating cache ../config.cache configure: loading site script /OE/org.openembedded.dev/site/ix86-common configure: loading site script /OE/org.openembedded.dev/site/ix86-common configure: loading site script /OE/org.openembedded.dev/site/common checking whether to enable maintainer-specific portions of Makefiles... no checking for makeinfo... makeinfo --split-size=5000000 configure: loading site script /OE/org.openembedded.dev/site/common configure: loading site script /OE/org.openembedded.dev/site/common configure: loading site script /OE/org.openembedded.dev/site/endian-little configure: creating cache ./config.cache configure: loading site script /OE/org.openembedded.dev/site/common-glibc configure: loading site script /OE/org.openembedded.dev/site/ix86-common configure: loading site script /OE/org.openembedded.dev/site/common configure: loading site script /OE/org.openembedded.dev/site/common configure: creating cache ./config.cache configure: loading site script /OE/org.openembedded.dev/site/common configure: creating cache ./config.cache checking whether to enable maintainer-specific portions of Makefiles... no checking for makeinfo... makeinfo --split-size=5000000 checking whether make sets $(MAKE)... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether NLS is requested... yes checking for msgfmt... checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... checking for perl... checking for perl... perl perl arm-angstrom-linux-gnueabi checking for i686-linux-gcc... arm-linux-gcc checking build system type... checking build system type... checking for C compiler default output file name... i686-pc-linux-gnu i686-pc-linux-gnu checking host system type... checking host system type... i686-pc-linux-gnu /OE/build/tmp/angstrom/staging/i686-linux/bin/msgfmt checking for gmsgfmt... i686-pc-linux-gnu checking for i686-linux-ar... arm-linux-ar checking for i686-linux-ranlib... arm-linux-ranlib checking for i686-linux-gcc... arm-linux-gcc checking for i686-linux-ar... /OE/build/tmp/angstrom/staging/i686-linux/bin/msgfmt no checking for ar... ar checking for i686-linux-ranlib... checking for xgettext... no checking for ranlib... ranlib checking for i686-linux-gcc... arm-linux-gcc /OE/build/tmp/angstrom/staging/i686-linux/bin/xgettext checking for msgmerge... /OE/build/tmp/angstrom/staging/i686-linux/bin/msgmerge checking for i686-linux-gcc... arm-linux-gcc checking for C compiler default output file name... checking for C compiler default output file name... a.out checking whether the C compiler works... checking for C compiler default output file name... a.out checking whether the C compiler works... a.out checking whether the C compiler works... a.out checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. make[1]: *** [configure-libiberty] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: *** [configure-fixincludes] Error 1 make[1]: *** [configure-intl] Error 1 make[1]: *** [configure-build-libiberty] Error 1 make[1]: Leaving directory `/OE/build/tmp/angstrom/work/armv5te-angstrom-linux-gnueabi/gcc-cross-initial-4.1.2-r13/gcc-4.1.2/build.i686-linux.arm-angstrom-linux-gnueabi' make: *** [all] Error 2 FATAL: oe_runmake failed
_______________________________________________ Openembedded-users mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-users
