<div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">I managed to get libp11 working with this makefile. The previous problems I encountered were fixed by a full rebuild of my tree. I needed libp11 because we are using the ATECC608A for securely accessing with AWS IOT. It also works with Google and Azure.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><a href="https://github.com/MicrochipTech/cryptoauthlib/wiki/PKCS11-Linux-Setup">https://github.com/MicrochipTech/cryptoauthlib/wiki/PKCS11-Linux-Setup</a><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default"><div class="gmail_default"><font face="tahoma, sans-serif">################################################################################</font></div><div class="gmail_default"><font face="tahoma, sans-serif">#</font></div><div class="gmail_default"><font face="tahoma, sans-serif"># libp11</font></div><div class="gmail_default"><font face="tahoma, sans-serif">#</font></div><div class="gmail_default"><font face="tahoma, sans-serif">################################################################################</font></div><div class="gmail_default"><font face="tahoma, sans-serif"><br></font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_VERSION = 4fa36e3a04bfe2d0a7b0b8b6f25866dac2f6cc8b</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_SITE = $(call github,OpenSC,libp11,$(LIBP11_VERSION))</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_DEPENDENCIES = openssl</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_LICENSE = LGPLv2.1</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_LICENSE_FILES = COPYING</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_AUTORECONF = YES</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_INSTALL_STAGING = YES</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_INSTALL_TARGET = YES</font></div><div class="gmail_default"><font face="tahoma, sans-serif"><br></font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_CONF_OPTS += --with-enginesdir=/usr/lib/engines-1.1</font></div><div class="gmail_default"><font face="tahoma, sans-serif">ifeq ($(BR2_PACKAGE_P11_KIT),y)</font></div><div class="gmail_default"><font face="tahoma, sans-serif">LIBP11_CONF_OPTS += --with-pkcs11-module=/usr/lib/p11-kit-proxy.so</font></div><div class="gmail_default"><font face="tahoma, sans-serif">endif</font></div><div class="gmail_default"><br></div><div class="gmail_default"><font face="tahoma, sans-serif">define LIBP11_INSTALL_TARGET_CMDS</font></div><div class="gmail_default"><font face="tahoma, sans-serif">$(INSTALL) -D -m 0755 $(@D)/src/.libs/libp11.so $(TARGET_DIR)/usr/lib</font></div><div class="gmail_default"><font face="tahoma, sans-serif">$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/engines-1.1</font></div><div class="gmail_default"><font face="tahoma, sans-serif">$(INSTALL) -D -m 0666 $(@D)/src/.libs/pkcs11.so $(TARGET_DIR)/usr/lib/engines-1.1</font></div><div class="gmail_default"><font face="tahoma, sans-serif">endef</font></div><div class="gmail_default"><font face="tahoma, sans-serif"><br></font></div><div class="gmail_default"><font face="tahoma, sans-serif">$(eval $(autotools-package))</font></div><div class="gmail_default"><font face="tahoma, sans-serif"><br></font></div><div class="gmail_default"><font face="tahoma, sans-serif"><div class="gmail_default">################################################################################</div><div class="gmail_default">#</div><div class="gmail_default"># cryptoauthlib</div><div class="gmail_default">#</div><div class="gmail_default">################################################################################</div><div class="gmail_default"><br></div><div class="gmail_default">CRYPTOAUTHLIB_VERSION = 21f9f26f3dae7194177f8be1b38bf8081616cd61</div><div class="gmail_default">CRYPTOAUTHLIB_SITE = $(call github,MicrochipTech,cryptoauthlib,$(CRYPTOAUTHLIB_VERSION))</div><div class="gmail_default">CRYPTOAUTHLIB_LICENSE = LGPL-2.1</div><div class="gmail_default">CRYPTOAUTHLIB_DEPENDENCIES = libp11 udev</div><div class="gmail_default">CRYPTOAUTHLIB_CONF_OPTS += -DATCA_HAL_I2C=ON -DATCA_PRINTF=ON -DCMAKE_BUILD_TYPE=DEBUG -DATCA_HAL_KIT_HID=OFF</div><div class="gmail_default">CRYPTOAUTHLIB_INSTALL_TARGET = YES</div><div class="gmail_default"><br></div><div class="gmail_default">define CRYPTOAUTHLIB_INSTALL_TARGET_CMDS</div><div class="gmail_default">$(INSTALL) -D -m 0755 $(@D)/lib/libcryptoauth.so* $(TARGET_DIR)/usr/lib</div><div class="gmail_default">$(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/cryptoauthlib</div><div class="gmail_default">$(INSTALL) -D -m 0666 $(@D)/cryptoauthlib.conf $(TARGET_DIR)/etc/cryptoauthlib</div><div class="gmail_default">$(INSTALL) -d -m 0755 $(TARGET_DIR)/var/lib/cryptoauthlib</div><div class="gmail_default">$(INSTALL) -D -m 0666 $(@D)/app/pkcs11/slot.conf.tmpl $(TARGET_DIR)/var/lib/cryptoauthlib</div><div class="gmail_default">endef</div><div class="gmail_default"><br></div><div class="gmail_default">$(eval $(cmake-package))</div></font></div><div style="font-family:tahoma,sans-serif;font-size:small"><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 5, 2019 at 1:57 PM Trent Piepho <<a href="mailto:tpiepho@impinj.com">tpiepho@impinj.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 2019-04-05 at 09:49 +0200, Thomas Petazzoni wrote:<br>
> On Thu, 4 Apr 2019 21:10:50 +0000<br>
> Trent Piepho <<a href="mailto:tpiepho@impinj.com" target="_blank">tpiepho@impinj.com</a>> wrote:<br>
> Then, even with this fixed, the package didn't build because it was<br>
> > > installing its OpenSSL modules in the wrong folder, as pkg-config<br>
> > > --variable enginesdir libcrypto returned a bogus value. I fixed that by<br>
> > > passing --with-enginesdir.  <br>
> > <br>
> > This is interesting, as when I made this patch for an older buildroot,<br>
> > pkgconfig would return the correct value.  It was not prefixed with the<br>
> > stage.  This is a new behavior.<br>
> > <br>
> > And it looks like this already hit a bunch of packages with things like<br>
> > the x11 app-defaults dir.  Since "libdir" is in the whitelist of paths<br>
> > to prefix, it also hits enginesdir since the latter is based on libdir.<br>
> > <br>
> > Maybe that pkg-config whitelist should not affect variables that use<br>
> > libdir and only prefix libdir itself?<br>
> <br>
> We have bumped pkg-config not long ago, and indeed its behavior<br>
> changed. When you have something like this:<br>
> <br>
> prefix=/usr<br>
> libdir=${prefix}/lib<br>
> enginesdir=${libdir}/engines<br>
<br>
I suppose another fix would be to patch the libcrypto pc file to use<br>
${prefix}/lib/engines.  If there were more consumers of enginesdir,<br>
then perhaps better to fix it once at the source than in each user?<br>
<br>
> and "libdir" was part of the special list of variables that we want to<br>
> prefix with the sysroot, then the old pkg-config would return libdir<br>
> prefixed with the sysroot, but not enginesdir.<br>
<br>
I assume there are packages which install libraries to the stage in<br>
sub-directories based on libdir, and this new pkg-config behavior is<br>
better for those cases, while worse for cases like enginesdir.<br>
<br>
Maybe some kind of run time control of pkg-config would allow it to<br>
work better?  For instance, an environment variable with some kind of<br>
white/black list of variables to prefix.  Default value would prefix<br>
libdir, etc.  But it could be tweaked on by intfras and/or packages. <br>
Kind of like:<br>
<br>
LIBP11_PKGCONFIG_NOT_STAGE_VARS = enginesdir<br>
<br>
Maybe the plumbing costs of this aren't worth making a few packages<br>
simpler.<br>
<br>
> Overall, the issue is that there is no concept in pkg-config for "the<br>
> value of this variable is going to be used at build time" vs "the<br>
> value of this variable is going to be used at run time".<br>
<br>
Shame.  Maybe buildroot should create a new build system, to replace<br>
autotools, cmake, and meson, that knows about all the issues of cross<br>
building?  Yes, huge project.  Need macos and windows support.  But<br>
think of how much easier buildroot would be if you didn't have to fight<br>
autotools and cmake!<br>
_______________________________________________<br>
buildroot mailing list<br>
<a href="mailto:buildroot@busybox.net" target="_blank">buildroot@busybox.net</a><br>
<a href="http://lists.busybox.net/mailman/listinfo/buildroot" rel="noreferrer" target="_blank">http://lists.busybox.net/mailman/listinfo/buildroot</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Jon Smirl<br><a href="mailto:jonsmirl@gmail.com" target="_blank">jonsmirl@gmail.com</a></div>