[oe] build dependency cycles in openembedded

Johannes Schauer j.schauer at email.de
Mon Feb 18 18:54:46 UTC 2013


Hi,

Quoting Marko Lindqvist (2013-02-18 18:22:26)
> OE has both native build and cross-compile part, and problems can arise in
> native part too. One example is that pkg-config version used has not been
> updated for a while since build of newer version would depend on glib, which
> needs pkg-config to build...

Great example! The same loop exists in binary distributions. Though there it is
a bit more involved since the notion of binary and source packages exists.
Therefor the loop you mention is not between the pkg-config and glib source
packages but between the pkg-config source package and the glib development
headers binary package libglib2.0-dev. So while the glib source package can be
built without pkg-config if ./configure is called with manually supplied
arguments like this:

    ./configure \
        PKG_CONFIG=false \
        ZLIB_CFLAGS=-I/usr/include ZLIB_LIBS="-L/usr/lib -lz" \
        LIBFFI_CFLAGS=-I/usr/include LIBFFI_LIBS="-L/usr/lib -lffi" \
        --disable-libelf \
        --with-pcre=internal

The dependency loop does still exist because the binary package libglib2.0-dev
can only be installed if the pkg-config binary package exists. But the
pkg-config binary package can only be built from the pkg-config source package
using the uninstallable libglib2.0-dev binary package....

So while it is good to hear an example for a dependency cycle in OpenEmbedded,
I now wonder why I didnt find more instances where those impact the development
and deployment of the OpenEmbedded distribution for new platforms?

cheers, josch




More information about the Openembedded-devel mailing list