On Monday 29 June 2009 06:24:48 am Pascal Kesseli wrote: > Hi everyone > > > > Recently, I tried building helloworld without providing a precompiled > toolchain for the MOXA UC-7408+. It worked as expected with OpenEmbedded > first compiling the cross-compiler and glibc. To do so, I used the following > machine config: > > > > TARGET_ARCH = arm > > PACKAGE_ARCH = xscale > > TARGET_CC_ARCH = "-mcpu=xscale" > > #ASSUME_PROVIDED += virtual/arm-linux-gcc virtual/libc > > PREFERRED_PROVIDER_virtual/kernel = "linux-2.6" > > BOOTSTRAP_EXTRA_DEPENDS += " virtual/kernel" > > BOOTSTRAP_EXTRA_RDEPENDS += " kernel kernel-modules" > > IMAGE_FSTYPE = "ext2" > > EXTRA_IMGECMD_ext2 = " -b 2097152" > > > > PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = glibc > > PREFERRED_VERSION_arm-linux-gcc = "3.4.4" > > PREFERRED_VERSION_gcc = "3.4.4" > > PREFERRED_VERSION_gcc-cross = "3.4.4" > > PREFERRED_VERSION_glibc = "2.3.3" > > > > > > Nevetheless, the compilation failed with the following error: > > > > | checking for pwd... /opt/openembedded/tmp/staging/i686-linux/usr/bin/pwd > > | checking for arm-linux-gcc... (cached) arm-linux-gcc -mcpu=xscale > > | checking version of arm-linux-gcc -mcpu=xscale... 4.2.4, bad > > | checking for gnumake... make > > | checking version of make... 3.81, ok > > | checking for gnumsgfmt... no > > | checking for gmsgfmt... no > > | checking for msgfmt... msgfmt > > | checking version of msgfmt... 0.17, ok > > | checking for makeinfo... makeinfo > > | checking version of makeinfo... 4.11, ok > > | checking for sed... sed > > | checking version of sed... 4.1.5, ok > > | checking for autoconf... autoconf > > | checking whether autoconf works... yes > > | configure: error: > > | *** These critical programs are missing or too old: gcc > > | *** Check the INSTALL file for required versions. > > | FATAL: oe_runconf failed > > NOTE: Task failed: > /opt/openembedded/tmp/work/xscale-linux/glibc-2.3.3-r17/temp/log.do_configur > e.5110 > > ERROR: TaskFailed event exception, aborting > > ERROR: Build of /opt/openembedded/recipes/glibc/glibc_2.3.3.bb do_configure > failed > > ERROR: Task 75 (/opt/openembedded/recipes/glibc/glibc_2.3.3.bb, > do_configure) failed > > NOTE: Tasks Summary: Attempted 159 tasks of which 159 didn't need to be > rerun and 1 failed. > > ERROR: '/opt/openembedded/recipes/glibc/glibc_2.3.3.bb' failed > > > > > > It seems as if gcc version 4.2.4 was created and used by OpenEmbedded, which > is too new for building glibc 2.3.3. Which PREFERRED_VERSION statement did I > miss to advise OpenEmbedded to use an earlier gcc version to build the > glibc? > if you do not select a DISTRO then you could add following to your local.conf and remove the stuff related to toolchain you have. PREFERRED_GCC_VERSION = "3.4.4" PREFERRED_BINUTILS = 2.17 PREFERRED_VERSION_glibc = 2.3.3 PREFERRED_VERSION_glibc-initial = 2.3.3 require conf/distro/include/sane-toolchain.inc Thx -Khem