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! 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/ 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@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core