<div dir="ltr"><div><div>Hello all,<br><br></div>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).<br><br></div><div>I can succesfully run the command to generate the SDK:<br></div><div>$ bitbake <recipe name> -c populate_sdk<br><br></div><div>But the output is incorrect. <b>While
the aarch sysroots look good, the sysroots for arm are completely
missing. The environment setup script ends up pointing to non-existent
compilers. </b>Please let me know if you need more information!<br><br></div><div>Steps to reproduce:<br></div><div>$ bitbake <recipe name> -c populate_sdk<br></div><div>$ cp tmp/deploy/sdk/<sdk-script>.sh /test/directory<br></div><div>$ cd /test/directory<br></div><div>$ bash <sdk-script>.sh<br></div><div>$ ls sysroots/<br>aarch64-poky-linux/ x86_64-pokysdk-linux/ <br><br></div><div>Note the missing ARM directories.<br><br></div><div>Also, the setup script for arm sets this as the command for compiler:<br> 12 export CC="arm-pokymllib32-linux-gnueabi-gcc<br><br></div><div>But that compiler doesn't exist anywhere in the folder where I installed everything, or environment!<br><br></div><div>So it appears that it's not completely or correctly packaging everything for ARMv7.<br></div><div><br></div><div>The <a target="_blank" href="http://www.yoctoproject.org/docs/2.0/mega-manual/mega-manual.html#sdk-dev-environment">documentation does mention some environment variables</a>, but it's not clear how those related to multilib.<br><br></div><div>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).<br><br></div><div><b>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?</b><br></div><div><br></div><div><br>_____________________________________________________________<br></div><div>Desperate brainstorming below:<br></div><div>I did find this years-old patch: <a target="_blank" href="https://patchwork.openembedded.org/patch/30941/">https://patchwork.openembedded.org/patch/30941/</a><br></div><div>Notably, the do_populate_sdk method in poky/meta/classes/populate_sdk_base.bbclass iterates over the values listed in the MULTILIB_VARIANTS variable:<br><br><pre><span>+        variants = d.getVar("MULTILIB_VARIANTS", True) or ""</span>
<span>+        for item in variants.split():</span>
<span>+                # Load overrides from 'd' to avoid having to reset the value...</span>
<span>+                overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item</span>
<span>+                localdata.setVar("OVERRIDES", overrides)</span>
<span>+                bb.data.update_data(localdata)</span>
<span>+                bb.build.exec_func("create_sdk_files", localdata)</span></pre><br></div><div><br></div><div>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.<br></div><div><br><br><br><br>______________________________________________________________<br></div><div>More data:<br></div><div><br></div>local.conf relevant section:<br>#<br># Multilib configuration<br>#<br># This sets any packages preprended with lib32- to be built with<br># the armv7a tuning (32 bit) instead of 64 bit aarch.<br>#<br>require conf/multilib.conf<br>MULTILIBS = "multilib:lib32"<br>DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon"</div>