<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 25, 2015 at 9:28 AM, Mark Asselstine <span dir="ltr"><<a href="mailto:mark.asselstine@windriver.com" target="_blank">mark.asselstine@windriver.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":40a" class="" style="overflow:hidden">Configure makes use of 'libdir' to set 'openssldir'. Unfortunately<br>
openssl treats this as a hardcoded absolute path. The value passed in<br>
as openssl becomes part of header files and baked in to executables.<br>
<br>
For target builds libdir is not something that changes and for -native<br>
builds unless you move your builds around you will see no issue with<br>
the current implementation. If you do update libdir or if you move<br>
your build or reuse sstate by copying it to a new build you will start<br>
to see errors. These will be seen when you use the 'openssl' tool and<br>
look like the following:<br>
<br>
WARNING: can't open config file: /home/build/bitbake_build/tmp/<br>
sysroots/x86_64-linux/usr/lib/ssl/openssl.cnf<br>
<br>
Knowing that openssl treats 'openssldir' as a hard coded absolute path<br>
and that we set this in configure we must add a 'vardeps' to ensure<br>
that things get re-configured and built whenever 'libdir' is<br>
modified. This will fix both target and -native builds per the<br>
usecases described above. If 'libdir' is unchanged things continue to<br>
function as they did before and a re-configure will not happen.<br>
<br>
Signed-off-by: Mark Asselstine <<a href="mailto:mark.asselstine@windriver.com">mark.asselstine@windriver.com</a>><br>
---<br>
meta/recipes-connectivity/openssl/openssl.inc | 2 ++<br>
1 file changed, 2 insertions(+)<br>
<br>
diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc<br>
index d337017..105b3fa 100644<br>
--- a/meta/recipes-connectivity/openssl/openssl.inc<br>
+++ b/meta/recipes-connectivity/openssl/openssl.inc<br>
@@ -54,6 +54,8 @@ do_configure_prepend_darwin () {<br>
sed -i -e '/version-script=openssl\.ld/d' Configure<br>
}<br>
<br>
+do_configure[vardeps] += "${libdir}"</div></blockquote></div><br>This really doesn't make sense. First of all, vardeps is a list of variables, but the expanded libdir is not a variable name. Perhaps you meant += "libdir"? Second, if libdir is used in do_configure, then changing it will already cause do_configure to be re-run, as bitbake tracks variable references. Only references which can't be tracked by bitbake need to be listed explicitly.<br>-- <br><div class="gmail_signature">Christopher Larson<br>clarson at kergoth dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div>
</div></div>