OpenSC / libp11

PKCS#11 wrapper library
GNU Lesser General Public License v2.1
310 stars 189 forks source link

How to build libp11 in ARM aarch64 #537

Closed qazsdcx closed 3 months ago

qazsdcx commented 4 months ago

Hi , experts

I want to build libp11(version: 0.4.12) on the ARM aarch64 platform. I followed the instructions on the INSTALL.md for the operation.

step1: CFLAGS="-I../openssl/openssl-3.1.4/include" ./configure --host=aarch64-linux-gnu CC=../gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc --prefix="$PWD/target"

libp11 has been configured with the following options:

Version: 0.4.12 libp11 directory: /home/xxx/workspace/test/libp11-0.4.12/target/lib Engine directory: /usr/lib/x86_64-linux-gnu/engines-3 Default PKCS11 module: API doc support: no

Host: aarch64-unknown-linux-gnu Compiler: /home/xxx/workspace/test/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc Preprocessor flags: Compiler flags: -I../openssl/openssl-3.1.4/include -pthread Linker flags: Libraries: -lpthread

OPENSSL_CFLAGS: OPENSSL_LIBS: -lcrypto

step2: make

there is build error:

In file included from engine.h:35, from eng_front.c:16: libp11.h:28:10: fatal error: openssl/bio.h: No such file or directory 28 | #include <openssl/bio.h> | ^~~~~~~ compilation terminated.

So how to build libp11 on ARM aarch64 platform? Can you provide a detailed guide?

mtrojnar commented 3 months ago

Avoid using a relative path for "-I", as our source tree uses subdirectories. The easiest way to fix it is to replace "-I../openssl/openssl-3.1.4/include" with "-I$(pwd)/../openssl/openssl-3.1.4/include".