[oe] libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file`

Steffen Sledz sledz at dresearch.de
Thu Sep 23 14:13:35 UTC 2010


On 09/23/2010 03:36 PM, Steffen Sledz wrote:
> Am 23.09.2010 13:30, schrieb Paul Menzel:
>> Using Ȧngström 2008.1 this error was not met though. But `do_compile()`
>> fails with `./strpool: cannot execute binary file`.
>>
>>         Log data follows:
>>         | NOTE: make
>>         |   CC     strpool.o
>>         |   CCLD   strpool
>>         | ./strpool atasmart.c atasmart.strpool.c
>>         | ./strpool: ./strpool: cannot execute binary file
>>         | make: *** [atasmart.strpool.c] Error 126
>>         | FATAL: oe_runmake failed
>>         | ERROR: Function do_compile failed
>>         NOTE: package libatasmart-0.13-r1: task do_compile: Failed
>>
>> But as far as I understand the recipe takes care of that by compiling
>> `strpool` for the build host [2].
>>
>>         do_compile_prepend() {
>>         	rm strpool -f
>>         	${BUILD_CC} -o strpool strpool.c
>>         	chmod +x strpool
>>         }
>> ...
>> [2] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/devicekit/libatasmart_0.13.bb?id=67ab615dac83b0460fa1b88dfb11c72d7c93e259
> 
> I hit the same problem. But just when building libatasmart for the first time. A second build succeeds.

I tried the following to find the cause for this.

First i added

  pwd
  file strpool

to the do_compile_prepend().

Aftre running

  bitbake libatasmart -c clean
  bitbake libatasmart

i saw

  ERROR: log data follows (/home/sledz/work/HydraIP/OE/tmp.6/work/armv5te-angstrom-linux-gnueabi/libatasmart-0.13-r1/temp/log.do_compile.29576)
  | /home/sledz/work/HydraIP/OE/tmp.6/work/armv5te-angstrom-linux-gnueabi/libatasmart-0.13-r1/git
  | strpool: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped
  ...

Then i called a devshell

  bitbake libatasmart -c devshell

Within it

  > pwd
  /home/sledz/work/HydraIP/OE/tmp.6/work/armv5te-angstrom-linux-gnueabi/libatasmart-0.13-r1/git
  > file strpool
  strpool: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped

So the binary has changed in between.

Steffen




More information about the Openembedded-devel mailing list