[OE-core] SDK confusion!

Bjørn Forsman bjorn.forsman at gmail.com
Mon Dec 17 15:31:02 UTC 2012


Hi,

I'm really confused about how to use/customize the generated SDK in
openembedded. I've spent two days messing around with angstrom
setup-scripts, poky and yocto and now I really need help.

First I did "bitbake meta-toolchain" (and installed it). That gave me
a toolchain, but no extra libraries. Then I tried "bitbake
meta-toolchain-sdk" and I got some extra libraries (yay!). But looking
at the respective recipies for these meta-tasks and I have *no idea*
what libraries "meta-toolchain-sdk" includes. I'm not comfortable with
the latter target *accidentally* happen to include the libraries I
need.

After searching the web for a bit, I discovered the "opkg-target"
command. Turns out that this command (or alias) no longer exist. Now
I'm supposed to use "opkg-cl". The yocto documentation says I should
do this:

$ opkg-cl –f <conf_file> -o <sysroot_dir> update
$ opkg-cl –f <cconf_file> -o <sysroot_dir> --force-overwrite install libglade
$ opkg-cl –f <cconf_file> -o <sysroot_dir> --force-overwrite install
libglade-dbg
$ opkg-cl –f <conf_file> -o <sysroot_dir> --force-overwrite install libglade-dev

Let's see, there are two sysroots installed by the toolchain:
/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux
/usr/local/oecore-x86_64/sysroots/armv7a-angstrom-linux-gnueabi/

After messing around with the various combinations of <conf_file> and
<sysroot_dir>, the closest I get to somthing working is this:

$ . /usr/local/oecore-x86_64/environment-setup-armv7a-angstrom-linux-gnueabi
$ opkg-cl -f /usr/local/oecore-x86_64/sysroots/armv7a-angstrom-linux-gnueabi/etc/opkg-sdk.conf
-o /usr/local/oecore-x86_64/sysroots/armv7a-angstrom-linux-gnueabi/
update
[snip lots of "Package XXX has no valid architecture, ignoring"]
Package libsystemd-id128-0 version v44-45-g3eff420-r28 has no valid
architecture, ignoring.
Package pam-plugin-shells version 1.1.5-r5 has no valid architecture, ignoring.
Package coreutils-dbg version 8.14-r3 has no valid architecture, ignoring.
Package ocf-linux version 20100325-r3.0 has no valid architecture, ignoring.
Package libxdamage-dev version 1:1.1.3-r1 has no valid architecture, ignoring.
Downloading file:/home/bfo/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/deploy/ipk/Packages.
Updated list of available packages in
/usr/local/oecore-x86_64/sysroots/armv7a-angstrom-linux-gnueabi///var/lib/opkg/lists/oe.
Downloading file:/home/bfo/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/deploy/ipk/all/Packages.
Updated list of available packages in
/usr/local/oecore-x86_64/sysroots/armv7a-angstrom-linux-gnueabi///var/lib/opkg/lists/oe-all.
Downloading file:/home/bfo/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/deploy/ipk/x86_64-nativesdk/Packages.
Updated list of available packages in
/usr/local/oecore-x86_64/sysroots/armv7a-angstrom-linux-gnueabi///var/lib/opkg/lists/oe-x86_64-nativesdk.

I've also run "bitbake package-index", but it didn't change anything.

Can someone please explain how to control what goes into the SDK?

If possible, I'd like to configure the SDK contents in a file rather
than running a bunch of opkg-cl commands afterwards. I like
reproducible builds, and if I have to run opkg-cl commands afterwards
I will have to document/script that too. Configuration managment is
difficult enough as it is :-)

Best regards,
Bjørn Forsman




More information about the Openembedded-core mailing list