<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!--P{margin-top:0;margin-bottom:0;} P{margin-top:0;margin-bottom:0;}--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hi,</p>
<p><br>
</p>
<p>We have situation when MACHINE value change affect nativesdk packages (thud but the same situation was on krogoth).<br>
<br>
MACHINE="x86" bitbake nativesdk-<package> -> build package and dependencies x86<br>
MACHINE="x86-64" bitbake nativesdk-<package> -> build package and dependencies for x86-64<br>
and finally<br>
MACHINE="x86" bitbake nativesdk-<cpackage> -> a lot of setscene functons executed for nativesdk packages<br>
<br>
MACHINE value affects BASELIB. For x86-64 we override BASELIB = lib64.<br>
For x86 BASELIB = lib. baselib for cross/natviesdk ramains unchanged (lib).<br>
<br>
<span style="font-family: "Courier New", monospace;"># $BASELIB</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># set <>/openembedded-core/meta/conf/bitbake.conf:12</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># "lib"</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># pre-expansion value:</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># "lib"</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;">BASELIB="lib"</span><br style="font-family: "Courier New", monospace;">
<br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># $BASELIB [2 operations]</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># set <>/openembedded-core/meta/conf/bitbake.conf:12</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># "lib"</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># set <>/x86-64-platforms.inc:22</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># "lib64"</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># pre-expansion value:</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;"># "lib64"</span><br style="font-family: "Courier New", monospace;">
<span style="font-family: "Courier New", monospace;">BASELIB="lib64"</span><br>
<br>
Tracking dependencies shows that nativesdk-<package> depends on gcc-crosssdk which depend on<br>
shared gcc-source package. And gcc-source tasks hash values (starting from from gcc-source.do_patch) are different for<br>
x86 and x86-64 (due to baselib), so nativesdk-<package> task stamp signature deps part depends on gcc-source tasks hash
</p>
<p>and also become different if we change MACHINE.<br>
</p>
<p><br>
</p>
<p>Technically it can be fixed with tweaking sstate_rundepfilter - but it's not generic solution.<br>
</p>
<p><br>
Is there any way to avoid rebuilding nativesdk packages that depend on shared packages (e.g. gcc-source)?</p>
<p><br>
</p>
<p>Regards,</p>
<p>Oleksiy<br>
</p>
</body>
</html>