[oe] LPC3250, helloworld-image, configure: error: cannot run C compiled programs

Dmitry Vinokurov d.vinokuroff at gmail.com
Sun Aug 23 04:17:56 UTC 2009


Khem Raj wrote:
> On (22/08/09 13:45), Dmitry Vinokurov wrote:
>   
>> Dmitry Vinokurov wrote:
>>     
>>> Holger Hans Peter Freyther wrote:
>>>       
>>>> On Thursday 20 August 2009 20:42:03 Dmitry Vinokurov wrote:
>>>>
>>>> I will update the documentation with these bits:
>>>>
>>>>
>>>> ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}gcc "
>>>> ASSUME_PROVIDED += " virtual/libc "
>>>> ASSUME_PROVIDED += "linux-libc-headers "
>>>> ASSUME_PROVIDED += "virtual/${TARGET_PREFIX}gcc "
>>>> 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 += "virtual/libintl "
>>>> ASSUME_PROVIDED += "virtual/libiconv "
>>>>
>>>> TARGET_PREFIX = "arm-linux-gnueabi-"
>>>> ASSUME_SHLIBS = "libc.so.6:libc"
>>>>
>>>>
>>>> The main difference are. Assume provided more
>>>> binaries/libraries, use the TARGET_PREFIX instead of CC, CXX,
>>>> NM....
>>>>
>>>>
>>>> does this work any better?
>>>>    z.
>>>>
>>>>         
>>> I changed my config according to your advises, final version
>>> attached. Tried to build helloworld application: 'bitbake -v -DDD
>>> helloworld', it compiles and runs on target board fine. Tried to
>>> build linux kernel: 'bitbake -v -DDD linux-2.6.27', it fails with
>>> --------
>>> checking build system type... i686-pc-linux-gnu
>>> checking host system type... i686-pc-linux-gnu
>>> checking target system type... arm-oe-linux-gnueabi
>>> checking for a BSD-compatible install... /home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/bin/install
>>> -c
>>> checking whether build environment is sane... yes
>>> checking for a thread-safe mkdir -p... /home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/bin/mkdir
>>> -p
>>> checking for gawk... gawk
>>> checking whether make sets $(MAKE)... yes
>>> checking for i686-linux-gcc... /opt/nxp/gcc-4.3.2-glibc-2.7/arm-vfp-linux-gnu/../bin/arm-vfp-linux-gnu-gcc
>>>
>>> checking for C compiler default output file name... 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.
>>> + oefatal 'oe_runconf failed'
>>> + echo FATAL: 'oe_runconf failed'
>>> FATAL: oe_runconf failed
>>> + exit 1
>>> ERROR: function do_configure failed
>>> ERROR: see log in /home/raydan/work/oe/build-linux/tmp/work/arm-oe-linux-gnueabi/module-init-tools-cross-3.2.2-r5/temp/log.do_configure.30320
>>>
>>> NOTE: Task failed: /home/raydan/work/oe/build-linux/tmp/work/arm-oe-linux-gnueabi/module-init-tools-cross-3.2.2-r5/temp/log.do_configure.30320
>>>
>>> ERROR: TaskFailed event exception, aborting
>>> ERROR: Build of /home/raydan/work/oe/openembedded/recipes/module-init-tools/module-init-tools-cross_3.2.2.bb
>>> do_configure failed
>>> ERROR: Task 107 (/home/raydan/work/oe/openembedded/recipes/module-init-tools/module-init-tools-cross_3.2.2.bb,
>>> do_configure) failed
>>> NOTE: Tasks Summary: Attempted 86 tasks of which 21 didn't need to
>>> be rerun and 1 failed.
>>> ERROR: '/home/raydan/work/oe/openembedded/recipes/module-init-tools/module-init-tools-cross_3.2.2.bb'
>>> failed
>>> --------
>>>
>>> I.e. bitbake again confused cross-gcc and x86-gcc. Updated my OE
>>> with git pull, removed tmp/ and made rebuild -- same result.
>>>       
>> Looks like error is in wrong ./configure parameter:
>> --host=i686-linux instead of --host=arm-oe-linux-gnueabi .
>> Now I'm trying to find, why --host was set to i686 and where it can
>> be changed.
>>     
>
> its a cross package so host being i686-linux (I suppose you are building
> on i686 box) is ok. Look into the config.log error message should be in
> there
>
> -Khem
>   
Hm, "configure --help" says "--host=HOST cross-compile to build programs 
to run on HOST [BUILD]" and as I understand, I will run programs on ARM, 
so it should be 'arm-oe-linux-gnueabi'.

Anyway, even if host should be x86, instead of i686-linux-gcc it finds 
arm-vfp-linux-gcc and fails.
Here is config.log:
-----------------------------------------------------------------------------------------------------------
configure:1739: checking build system type
configure:1757: result: i686-pc-linux-gnu
configure:1779: checking host system type
configure:1794: result: i686-pc-linux-gnu
configure:1816: checking target system type
configure:1831: result: arm-oe-linux-gnueabi
configure:1876: checking for a BSD-compatible install
configure:1932: result: 
/home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/bin/install -c
configure:1943: checking whether build environment is sane
configure:1986: result: yes
configure:2014: checking for a thread-safe mkdir -p
configure:2053: result: 
/home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/bin/mkdir -p
configure:2066: checking for gawk
configure:2082: found /usr/bin/gawk
configure:2093: result: gawk
configure:2104: checking whether make sets $(MAKE)
configure:2125: result: yes
configure:2336: checking for i686-linux-gcc
configure:2363: result: 
/opt/nxp/gcc-4.3.2-glibc-2.7/arm-vfp-linux-gnu/../bin/arm-vfp-linux-gnu-gcc
configure:2641: checking for C compiler version
configure:2648: 
/opt/nxp/gcc-4.3.2-glibc-2.7/arm-vfp-linux-gnu/../bin/arm-vfp-linux-gnu-gcc 
--version >&5
arm-vfp-linux-gnu-gcc (crosstool-NG-1.3.1) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2651: $? = 0
configure:2658: 
/opt/nxp/gcc-4.3.2-glibc-2.7/arm-vfp-linux-gnu/../bin/arm-vfp-linux-gnu-gcc 
-v >&5
Using built-in specs.
Target: arm-vfp-linux-gnu
Configured with: /home/usb10132/ct1/bin/targets/src/gcc-4.3.2/configure 
--build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu 
--target=arm-vfp-linux-gnu 
--prefix=/home/usb10132/x-tools/arm-vfp-linux-gnu 
--with-sysroot=/home/usb10132/x-tools/arm-vfp-linux-gnu/arm-vfp-linux-gnu/sys-root 
--enable-languages=c,c++ --disable-multilib --with-arch=armv5te 
--with-abi=atpcs --with-cpu=arm926ej-s --with-fpu=vfp --with-float=soft 
--with-gmp=/home/usb10132/x-tools/arm-vfp-linux-gnu 
--with-mpfr=/home/usb10132/x-tools/arm-vfp-linux-gnu 
--with-pkgversion=crosstool-NG-1.3.1 --enable-__cxa_atexit 
--with-local-prefix=/home/usb10132/x-tools/arm-vfp-linux-gnu/arm-vfp-linux-gnu/sys-root 
--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 
--enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.3.2 (crosstool-NG-1.3.1)
configure:2661: $? = 0
configure:2668: 
/opt/nxp/gcc-4.3.2-glibc-2.7/arm-vfp-linux-gnu/../bin/arm-vfp-linux-gnu-gcc 
-V >&5
arm-vfp-linux-gnu-gcc: '-V' option must have argument
configure:2671: $? = 1
configure:2694: checking for C compiler default output file name
configure:2721: 
/opt/nxp/gcc-4.3.2-glibc-2.7/arm-vfp-linux-gnu/../bin/arm-vfp-linux-gnu-gcc 
-isystem/home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/include 
-O2 -g 
-isystem/home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/include 
-L/home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/lib 
-Wl,-rpath-link,/home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/lib 
-Wl,-rpath,/home/raydan/work/oe/build-linux/tmp/staging/i686-linux/usr/lib 
-Wl,-O1 conftest.c  >&5
configure:2724: $? = 0
configure:2762: result: a.out
configure:2779: checking whether the C compiler works
configure:2789: ./a.out
/home/raydan/work/oe/build-linux/tmp/work/arm-oe-linux-gnueabi/module-init-tools-cross-3.2.2-r5/module-init-tools-3.2.2/configure: 
line 2790: ./a.out: cannot execute binary file
configure:2792: $? = 126
configure:2801: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
-----------------------------------------------------------------------------------------------------------

--
Best Regards,
Dmitry Vinokurov




More information about the Openembedded-devel mailing list