[OE-core] multilib support on Jethro: populate_sdk help

Khem Raj raj.khem at gmail.com
Fri Jul 29 19:07:06 UTC 2016


> On Jul 29, 2016, at 10:48 AM, Nemicolopterus Crypticus <ncrypticus at gmail.com> wrote:
> 
> Hello all,
> 
> We are having issues with our generated SDK files. We're using the jethro branch, and have enabled multilib (see relevant portion of local.conf below).
> 
> I can succesfully run the command to generate the SDK:
> $ bitbake <recipe name> -c populate_sdk
> 
> But the output is incorrect. While the aarch sysroots look good, the sysroots for arm are completely missing. The environment setup script ends up pointing to non-existent compilers. Please let me know if you need more information!

Thanks for report. It will be good if you can open a bugzilla entry for this. So it can be tracked.

> 
> Steps to reproduce:
> $ bitbake <recipe name> -c populate_sdk
> $ cp tmp/deploy/sdk/<sdk-script>.sh /test/directory
> $ cd /test/directory
> $ bash <sdk-script>.sh
> $ ls sysroots/
> aarch64-poky-linux/   x86_64-pokysdk-linux/
> 
> Note the missing ARM directories.
> 
> Also, the setup script for arm sets this as the command for compiler:
>  12 export CC="arm-pokymllib32-linux-gnueabi-gcc
> 
> But that compiler doesn't exist anywhere in the folder where I installed everything, or environment!
> 
> So it appears that it's not completely or correctly packaging everything for ARMv7.
> 
> The documentation does mention some environment variables <http://www.yoctoproject.org/docs/2.0/mega-manual/mega-manual.html#sdk-dev-environment>, but it's not clear how those related to multilib.
> 
> For instance, none of our recipes have "SDKIMAGE_FEATURES" defined, but clearly the aarch64 sysroots are getting populated correctly (we succesfully compiled and ran a simple hello world).
> 
> Can anyone point me to an example, or discuss a successful use of "multilib" on the Jethro branch (given desparate brainstorming below), share some more verbose documentation, or ask follow-up questions?
> 
> 
> _____________________________________________________________
> Desperate brainstorming below:
> I did find this years-old patch: https://patchwork.openembedded.org/patch/30941/ <https://patchwork.openembedded.org/patch/30941/>
> Notably, the do_populate_sdk method in poky/meta/classes/populate_sdk_base.bbclass iterates over the values listed in the MULTILIB_VARIANTS variable:
> 
> +	variants = d.getVar("MULTILIB_VARIANTS", True) or ""
> +	for item in variants.split():
> +		# Load overrides from 'd' to avoid having to reset the value...
> +		overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
> +		localdata.setVar("OVERRIDES", overrides)
> +		bb.data.update_data(localdata)
> +		bb.build.exec_func("create_sdk_files", localdata)
> 
> 
> The latest version in Jethro does not have anything equivalent to that, but I did not dig deeply into the code or the commit history.
> 
> 
> 
> 
> ______________________________________________________________
> More data:
> 
> local.conf relevant section:
> #
> # Multilib configuration
> #
> # This sets any packages preprended with lib32- to be built with
> # the armv7a tuning (32 bit) instead of 64 bit aarch.
> #
> require conf/multilib.conf
> MULTILIBS = "multilib:lib32"
> DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon"
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160729/2a6672f5/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160729/2a6672f5/attachment-0002.sig>


More information about the Openembedded-core mailing list