<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 8/6/19 12:55 PM, Alexander Kanavin
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CANNYZj96=yCYWO_UG9MkUx2HvwG00v0n3dTK5aMdhqb3BHhFjw@mail.gmail.com">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, 6 Aug 2019 at 19:31,
Jason Wessel <<a href="mailto:jason.wessel@windriver.com"
moz-do-not-send="true">jason.wessel@windriver.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote">The build of sqlite3-native is
not fully deterministic. There is some<br>
corner case as shown with the recent pseudo commit where the
sqlite3<br>
will sometimes link against zlib. It is possible that in a
build with<br>
sstate that since the zlib is not listed, that pseudo-native
will fail<br>
to build because it calls the pkg-config to get the link
arguments for<br>
sqlite3 and will ultimately try to link against zlib.<br>
</blockquote>
<div><br>
</div>
<div>It would be good to dig a little deeper and get to the
root cause of why sqlite *sometimes* does it. The fix
provided below seems like fixing the symptom, not the
problem.</div>
</div>
<div class="gmail_quote"><br>
</div>
<div class="gmail_quote">Alex<br>
</div>
</div>
</blockquote>
<p><br>
</p>
<p>Without getting access to the build machine where it failed to
perform more in depth forensics it is a bit hard to determine the
exact cause. I performed some local testing using the Fedora 28
and could not replicate the exact circumstance unless I deleted a
file in the sysroot. From what I can tell there are two ways of
seeing the problem. <br>
</p>
<p>1) Host contamination <br>
</p>
<p>% pkg-config sqlite3 --libs --static<br>
-lsqlite3 -lm -ldl -lz -lpthread <br>
</p>
<p>This was not the way the sqlite3 was built. However there is no
way to know if this was the circumstance without poking around in
the log files and re-running the context of the run.do_compile
script in the packages temp directory.</p>
<p>2) Dependency race<br>
</p>
<p>This is the one where I deleted a file to simulate the problem,
but I couldn't reproduce it. For this, we'd really need to look
at the failed machine's log of the build of sqlite3, which may be
long gone from the sstate. But it should have the pkg-config
files laying around. If it shows that it did build against the
zlib, but zlib was not listed dependency it was never going to
build because the recipe-sysroot-native is not going to have the
required library. <br>
</p>
<p>There of course might be other ways to end up with the same
result but these are the most likely candidates, each of which is
fixed by listing the dependency. I too would like to know the
actual root cause, but without access to the build it is hard to
track it down.<br>
</p>
<p>Cheers,<br>
</p>
<p>Jason<br>
</p>
</body>
</html>