* libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file`
@ 2010-09-23 11:30 Paul Menzel
2010-09-23 12:21 ` Steffen Sledz
2010-09-23 13:36 ` Steffen Sledz
0 siblings, 2 replies; 9+ messages in thread
From: Paul Menzel @ 2010-09-23 11:30 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 2485 bytes --]
Dear OE folks,
I am trying to build `libatasmart_0.13.bb`.
Using Minimal as distribution `do_configure()` fails, because package
config for libudev is not found.
[…]
| checking for arm-oe-linux-gnueabi-pkg-config... no
| checking for pkg-config... /oe/build-minimal-eglibc/minimal-dev/sysroots/i686-linux/usr/bin/pkg-config
| configure: WARNING: using cross tools not prefixed with host triplet
| checking pkg-config is at least version 0.9.0... yes
| checking for LIBUDEV... configure: error: Package requirements (libudev) were not met:
|
| No package 'libudev' found
|
| Consider adjusting the PKG_CONFIG_PATH environment variable if you
| installed software in a non-standard prefix.
|
| Alternatively, you may set the environment variables LIBUDEV_CFLAGS
| and LIBUDEV_LIBS to avoid the need to call pkg-config.
| See the pkg-config man page for more details.
|
| ERROR: Function do_configure failed
NOTE: package libatasmart-0.13-r1: task do_configure: Failed
[…]
`find minimal-dev/ -name *libudev*` did not return anything useful.
Steffen added `udev` to `DEPENDS` [1] but that does not seem to help.
(Although I do not know if he saw the same error as I do, because it is
not mentioned in the commit message.)
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
}
Thanks,
Paul
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=f94938ac8022a9ab94cccf1e61eb069a30133ffb
[2] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/devicekit/libatasmart_0.13.bb?id=67ab615dac83b0460fa1b88dfb11c72d7c93e259
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file`
2010-09-23 11:30 libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file` Paul Menzel
@ 2010-09-23 12:21 ` Steffen Sledz
2010-09-23 13:36 ` Steffen Sledz
1 sibling, 0 replies; 9+ messages in thread
From: Steffen Sledz @ 2010-09-23 12:21 UTC (permalink / raw)
To: openembedded-devel
Am 23.09.2010 13:30, schrieb Paul Menzel:
> I am trying to build `libatasmart_0.13.bb`.
>
> Using Minimal as distribution `do_configure()` fails, because package
> config for libudev is not found.
>
> […]
> | checking for arm-oe-linux-gnueabi-pkg-config... no
> | checking for pkg-config... /oe/build-minimal-eglibc/minimal-dev/sysroots/i686-linux/usr/bin/pkg-config
> | configure: WARNING: using cross tools not prefixed with host triplet
> | checking pkg-config is at least version 0.9.0... yes
> | checking for LIBUDEV... configure: error: Package requirements (libudev) were not met:
> |
> | No package 'libudev' found
> |
> | Consider adjusting the PKG_CONFIG_PATH environment variable if you
> | installed software in a non-standard prefix.
> |
> | Alternatively, you may set the environment variables LIBUDEV_CFLAGS
> | and LIBUDEV_LIBS to avoid the need to call pkg-config.
> | See the pkg-config man page for more details.
> |
> | ERROR: Function do_configure failed
> NOTE: package libatasmart-0.13-r1: task do_configure: Failed
> […]
>
> `find minimal-dev/ -name *libudev*` did not return anything useful.
> Steffen added `udev` to `DEPENDS` [1] but that does not seem to help.
> (Although I do not know if he saw the same error as I do, because it is
> not mentioned in the commit message.)
Yes i saw exactly this error.
Steffen
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file`
2010-09-23 11:30 libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file` Paul Menzel
2010-09-23 12:21 ` Steffen Sledz
@ 2010-09-23 13:36 ` Steffen Sledz
2010-09-23 14:13 ` Steffen Sledz
1 sibling, 1 reply; 9+ messages in thread
From: Steffen Sledz @ 2010-09-23 13:36 UTC (permalink / raw)
To: openembedded-devel
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.
Steffen
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file`
2010-09-23 13:36 ` Steffen Sledz
@ 2010-09-23 14:13 ` Steffen Sledz
2010-09-24 9:03 ` Steffen Sledz
0 siblings, 1 reply; 9+ messages in thread
From: Steffen Sledz @ 2010-09-23 14:13 UTC (permalink / raw)
To: openembedded-devel
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
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file`
2010-09-23 14:13 ` Steffen Sledz
@ 2010-09-24 9:03 ` Steffen Sledz
2010-09-24 9:23 ` [PATCH] libatasmart-0.13: resolve cross compile problem Steffen Sledz
0 siblings, 1 reply; 9+ messages in thread
From: Steffen Sledz @ 2010-09-24 9:03 UTC (permalink / raw)
To: openembedded-devel
Am 23.09.2010 16:13, schrieb Steffen Sledz:
> 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.
I did some deeper research. The do_compile_prepend code from Koen(?) did not help here.
Makefile.am contains a target "noinst_PROGRAMS = strpool" which is used to create atasmart.strpool.c.
For the creation of this target strpool there are no special rules. Therefor it is build for the target (and overwrites the strpool built from do_compile_prepend) instead of the build host. :(
Is anybody able to write down a rule for strpool fixing this?
Steffen
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH] libatasmart-0.13: resolve cross compile problem
2010-09-24 9:03 ` Steffen Sledz
@ 2010-09-24 9:23 ` Steffen Sledz
2010-09-24 9:29 ` Koen Kooi
0 siblings, 1 reply; 9+ messages in thread
From: Steffen Sledz @ 2010-09-24 9:23 UTC (permalink / raw)
To: openembedded-devel
* This patch solves a cross/native compile problem:
| ./strpool atasmart.c atasmart.strpool.c
| ./strpool: ./strpool: cannot execute binary file
Signed-off-by: Steffen Sledz <sledz@dresearch.de>
---
recipes/devicekit/libatasmart-0.13/strpool.patch | 11 +++++++++++
recipes/devicekit/libatasmart_0.13.bb | 12 +++---------
2 files changed, 14 insertions(+), 9 deletions(-)
create mode 100644 recipes/devicekit/libatasmart-0.13/strpool.patch
diff --git a/recipes/devicekit/libatasmart-0.13/strpool.patch b/recipes/devicekit/libatasmart-0.13/strpool.patch
new file mode 100644
index 0000000..e9f6ab3
--- /dev/null
+++ b/recipes/devicekit/libatasmart-0.13/strpool.patch
@@ -0,0 +1,11 @@
+--- git/Makefile.am.orig 2010-09-24 11:03:40.917602895 +0200
++++ git/Makefile.am 2010-09-24 11:07:04.145852660 +0200
+@@ -81,5 +81,8 @@
+ BUILT_SOURCES = \
+ atasmart.strpool.c
+
++strpool: $(strpool_SOURCES)
++ $(BUILD_CC) -o $@ $?
++
+ atasmart.strpool.c: atasmart.c strpool
+ $(top_builddir)/strpool $< $@
diff --git a/recipes/devicekit/libatasmart_0.13.bb b/recipes/devicekit/libatasmart_0.13.bb
index 992ff3e..4a4986e 100644
--- a/recipes/devicekit/libatasmart_0.13.bb
+++ b/recipes/devicekit/libatasmart_0.13.bb
@@ -2,20 +2,14 @@ DEPENDS = "udev"
LICENSE = "LGPL"
SRCREV = "a80d7d5c25e88adea7b8e843cdb57143e6cfb46b"
-SRC_URI = "git://git.0pointer.de/libatasmart.git;protocol=git"
+SRC_URI = "git://git.0pointer.de/libatasmart.git;protocol=git \
+ file://strpool.patch"
S = "${WORKDIR}/git"
-PR = "r1"
+PR = "r2"
inherit autotools lib_package
-do_compile_prepend() {
- rm strpool -f
- ${BUILD_CC} -o strpool strpool.c
- chmod +x strpool
-}
-
do_install_append() {
sed -i -e s://:/:g -e s:${base_libdir}/libudev.la:-ludev:g ${D}${libdir}/libatasmart.la
}
-
--
1.7.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] libatasmart-0.13: resolve cross compile problem
2010-09-24 9:23 ` [PATCH] libatasmart-0.13: resolve cross compile problem Steffen Sledz
@ 2010-09-24 9:29 ` Koen Kooi
2010-09-24 9:55 ` Paul Menzel
0 siblings, 1 reply; 9+ messages in thread
From: Koen Kooi @ 2010-09-24 9:29 UTC (permalink / raw)
To: openembedded-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 24-09-10 11:23, Steffen Sledz wrote:
> * This patch solves a cross/native compile problem:
> | ./strpool atasmart.c atasmart.strpool.c
> | ./strpool: ./strpool: cannot execute binary file
>
> Signed-off-by: Steffen Sledz <sledz@dresearch.de>
Acked-by: Koen Kooi <koen@openembedded.org>
> ---
> recipes/devicekit/libatasmart-0.13/strpool.patch | 11 +++++++++++
> recipes/devicekit/libatasmart_0.13.bb | 12 +++---------
> 2 files changed, 14 insertions(+), 9 deletions(-)
> create mode 100644 recipes/devicekit/libatasmart-0.13/strpool.patch
>
> diff --git a/recipes/devicekit/libatasmart-0.13/strpool.patch b/recipes/devicekit/libatasmart-0.13/strpool.patch
> new file mode 100644
> index 0000000..e9f6ab3
> --- /dev/null
> +++ b/recipes/devicekit/libatasmart-0.13/strpool.patch
> @@ -0,0 +1,11 @@
> +--- git/Makefile.am.orig 2010-09-24 11:03:40.917602895 +0200
> ++++ git/Makefile.am 2010-09-24 11:07:04.145852660 +0200
> +@@ -81,5 +81,8 @@
> + BUILT_SOURCES = \
> + atasmart.strpool.c
> +
> ++strpool: $(strpool_SOURCES)
> ++ $(BUILD_CC) -o $@ $?
> ++
> + atasmart.strpool.c: atasmart.c strpool
> + $(top_builddir)/strpool $< $@
> diff --git a/recipes/devicekit/libatasmart_0.13.bb b/recipes/devicekit/libatasmart_0.13.bb
> index 992ff3e..4a4986e 100644
> --- a/recipes/devicekit/libatasmart_0.13.bb
> +++ b/recipes/devicekit/libatasmart_0.13.bb
> @@ -2,20 +2,14 @@ DEPENDS = "udev"
> LICENSE = "LGPL"
>
> SRCREV = "a80d7d5c25e88adea7b8e843cdb57143e6cfb46b"
> -SRC_URI = "git://git.0pointer.de/libatasmart.git;protocol=git"
> +SRC_URI = "git://git.0pointer.de/libatasmart.git;protocol=git \
> + file://strpool.patch"
>
> S = "${WORKDIR}/git"
> -PR = "r1"
> +PR = "r2"
>
> inherit autotools lib_package
>
> -do_compile_prepend() {
> - rm strpool -f
> - ${BUILD_CC} -o strpool strpool.c
> - chmod +x strpool
> -}
> -
> do_install_append() {
> sed -i -e s://:/:g -e s:${base_libdir}/libudev.la:-ludev:g ${D}${libdir}/libatasmart.la
> }
> -
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
iD8DBQFMnG91MkyGM64RGpERAlY2AJ9wplA9f6GVaujRIBGDCnAoxS55JgCfZ4Aq
9hQELdWnRM7EXaeK4hxcdSI=
=zbi2
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-09-24 10:01 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-23 11:30 libatasmart_0.13.bb: `No package 'libudev' found` and `./strpool: ./strpool: cannot execute binary file` Paul Menzel
2010-09-23 12:21 ` Steffen Sledz
2010-09-23 13:36 ` Steffen Sledz
2010-09-23 14:13 ` Steffen Sledz
2010-09-24 9:03 ` Steffen Sledz
2010-09-24 9:23 ` [PATCH] libatasmart-0.13: resolve cross compile problem Steffen Sledz
2010-09-24 9:29 ` Koen Kooi
2010-09-24 9:55 ` Paul Menzel
2010-09-24 10:01 ` Steffen Sledz
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.