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

Dmitry Vinokurov d.vinokuroff at gmail.com
Sat Aug 29 09:09:00 UTC 2009


Dmitry Vinokurov wrote:
> Khem Raj wrote:
>> On (23/08/09 19:25), Dmitry Vinokurov wrote:
>>  
>>> Khem Raj wrote:
>>>    
>>>> On (23/08/09 10:17), Dmitry Vinokurov wrote:
>>>>      
>>>>>>>> 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.
>>>>>         
>>>> dont confuse pure cross with canadian cross. You are doing a normal
>>>> cross build here which means build machine is same as host machine.
>>>>
>>>> Your problem is probably because you are overriding CC and friends
>>>> which could be confusing (already confused) configure even more.
>>>>
>>>> Try setting CC_FOR_BUILD=<your native compiler on the build machine>
>>>>
>>>> Thanks
>>>>
>>>> -Khem
>>>>       
>>> Thank you for your help. I'm newbie in OE and crosscompiling at all
>>> and may confuse some things.
>>>
>>> Just now I've tried to build some not so simple as helloworld but
>>> not so complicated as kernel -- bc calculator. And I'd like to say
>>> that during configure stage it sets:
>>> --build=i686-linux --host=arm-oe-linux-gnueabi 
>>> --target=arm-oe-linux-gnueabi
>>>
>>> Builded bc works fine on my board and this is normal, not canadian,
>>> cross build.
>>>     
>>
>> its a target package being built on build machine. Your build was 
>> failing to compile a package which
>> will run on your host (similar to cross compilers) they are not same
>> cases. module-init-tools would be analogically similar to bc but not
>> module-init-tools-cross which is the package you reported failing.
>>   
> Yes, you're right. Recently read documentation more attentively 
> (http://docs.openembedded.org/usermanual/usermanual.html#recipes_variables) 
> and understood that I was wrong.
> Now appearing errors are more familiar to me and I hope soon image for 
> LPC3250 will be built successfully and I'll report about it.
Successfully builded kernel for LPC3250, it works on the board. But 
trouble with module-init-tools (configure try to use CC (set to arm 
compiler) as x86 compiler and fails due to "cannot run C compiled 
programs") still remains -- I temporarily solved it by explicitly 
setting CC=gcc in module-init-tools-cross_3.2.2.bb, though I don't think 
that it is good solution.

Maybe somebody more experienced could advise, how this trouble can be 
solved in the right way? I'm ready to give any needed logs.




More information about the Openembedded-devel mailing list