Skip to contentSkip to conversation

native.bbclass: Ensure native recipes have a deterministic baselib value

PATCH In review Richard Purdie 3 participants 4 messages Oct 6, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 native.bbclass: Ensure native recipes have a deterministic baselib value

Changes to baselib by specific machine configuration were resulting in sstate cache invalidation, particularly in multilib configurations.

This patch ensures this doesn't happen and native sstate cache files are reusable.

---

meta/classes/native.bbclass +2 -0
index 5e45aed..ba8b0bf 100644
@@ -69,6 +69,8 @@ exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
 
 libdir = "${STAGING_DIR_NATIVE}${libdir_native}"
 
+baselib = "lib"
+
 # Libtool's default paths are correct for the native machine
 lt_cv_sys_lib_dlsearch_path_spec[unexport] = "1"
 
#1 lore raw
Quoted 5 lines · Richard Purdie

Changes to baselib by specific machine configuration were resulting in sstate cache invalidation, particularly in multilib configurations.

This patch ensures this doesn't happen and native sstate cache files are reusable.

Likely throwing in a can of worms here, but for our existing (non-OE based) work, we generally change the baselib to "lib64" on 64-bit machines. Without patching native.bbclass, is it possible to do that?

We do this because we ship both 32-bit and 64-bit host tooling for a variety of host distributions, I expect we'll have to continue doing that as we transition to an OE-based system.

Quoted 22 lines

---

meta/classes/native.bbclass +2 -0
index 5e45aed..ba8b0bf 100644
@@ -69,6 +69,8 @@ exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
 
 libdir = "${STAGING_DIR_NATIVE}${libdir_native}"
 
+baselib = "lib"
+
 # Libtool's default paths are correct for the native machine
 lt_cv_sys_lib_dlsearch_path_spec[unexport] = "1"
 

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#2 lore raw
Quoted 10 lines · Mark Hatle
Quoted 5 lines · Richard Purdie

Changes to baselib by specific machine configuration were resulting in sstate cache invalidation, particularly in multilib configurations.

This patch ensures this doesn't happen and native sstate cache files are reusable.

Likely throwing in a can of worms here, but for our existing (non-OE based) work, we generally change the baselib to "lib64" on 64-bit machines. Without patching native.bbclass, is it possible to do that?

Yes, you could set this based on the build system architecture no problem at all.

The reason for this change is to have a single value for native packages which doesn't change based on MACHINE. That doesn't stop you changing it based on something specific the native binaries themselves.

The native sysroots are different depending on the build system architecture anyway so this actually might be a non-issue for you anyway.

Cheers,

Richard