All of lore.kernel.org
 help / color / mirror / Atom feed
* multilib support on Jethro: populate_sdk help
@ 2016-07-29 17:48 Nemicolopterus Crypticus
  2016-07-29 19:07 ` Khem Raj
  0 siblings, 1 reply; 5+ messages in thread
From: Nemicolopterus Crypticus @ 2016-07-29 17:48 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 2917 bytes --]

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"

[-- Attachment #2: Type: text/html, Size: 3754 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-08-03 19:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-29 17:48 multilib support on Jethro: populate_sdk help Nemicolopterus Crypticus
2016-07-29 19:07 ` Khem Raj
2016-07-29 20:30   ` Nemicolopterus Crypticus
2016-08-01 23:05     ` Nemicolopterus Crypticus
2016-08-03 19:22       ` Nemicolopterus Crypticus

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.