[oe] DEPENDS not honored: `do_configure` runs before `do_populate_sysroot` of dependencies

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Sat Oct 9 09:52:39 UTC 2010


2010/10/9 Paul Menzel <paulepanter at users.sourceforge.net>:
> Dear OE folks,
>
>
> if recipe B depends on A, I noticed that B’s `do_configure` is run
> before all operations of A are complete, that means all tasks after
> `do_install` like `do_populate_sysroot`.
>
> Here is my concrete example.
>
> Running
>
>        $ bitbake console-image
>
> with `minimal-uclibc` for `MACHINE = "beagleboard"`
> `virtual:native:libgee_0.6.0.bb` failed to build for me (same error as
> in [1]). `do_configure` did not find a file which is provided by
> `gobject-introspection-native` which was recently added to `DEPENDS` [2]
> to fix [1].
>
> Before the failure the last completed task of
> `gobject-introspection-native` was
>
>        NOTE: Running task 1929 of 3724 (ID: 3078, virtual:native:/oe/openembedded/recipes/gobject-introspection/gobject-introspection_0.9.10.bb, do_install)
>        NOTE: package gobject-introspection-native-0.9.10-r0: task do_install: Started
>        NOTE: package gobject-introspection-native-0.9.10-r0: task do_install: Succeeded
>
> and then `do_configure` of `libgee-native` was already run. Building
> `gobject-introspection-native` manually I saw that there was a task
> `do_populate_sysroot`. With this task completed `libgee-native` was
> build successful.
>
> Is that a BitBake error?
>
>
> Thanks,
>
> Paul
>
>
> [1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-October/025125.html
>    "libgee_0.6.0: gee/Makefile.am:95: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL"
> [2] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=72c2ac940065948cb688fde821e51efac6b71b4b
>
> _______________________________________________

Paul, I think you spotted a serious issue.
I don't think it is a bitbake error as such though (bitbake is just
the machine) but more likely something in our bbclass files

Something similar came up on irc on oct 5 (maybe the discussion
started on oct 4).
This was wrt sqlite3 native and the dependency on tcl-native.
I had a failing log for this too: see
http://tinderbox.openembedded.net/builds/92319/
Note that that was from a clean build.
I know something has been done to tackle this specific issue, but it
seems we have a more generic problem here.

To dig into the latter:
This seems the commit that fixes things:
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=9f503dbde0f2f6e9d4a94f6ab4be1b04dfc99950
but I have no idea why it should fix things.

For a native recipe this:
-DEPENDS = "tcl-native readline ncurses"
+DEPENDS = "readline ncurses"
+DEPENDS_virtclass-native_append = " tcl-native"
should not really make a difference I'd say.

Frans.




More information about the Openembedded-devel mailing list