Make -j 导致 OQS Openssl 失败

Make -j 导致 OQS Openssl 失败

我不是开发人员。

我正在尝试建立OpenSSL 的 Open Quantum Safe (OQS) 变体使用 Ubuntu VM。

一切都很顺利,直到最后一步我执行“make -j”,出现了致命错误。致命错误的示例如下

  In file included from include/openssl/x509.h:18,

  from apps/apps.c:29:

  include/openssl/evp.h:18:11: fatal error: oqs/oqs.h: No such file or directory

  18 | # include <oqs/oqs.h>

  |           ^~~~~~~~~~~

  compilation terminated.

我尝试了几种方法,但就是无法通过,例如检查系统是否有 openssl (openssl 版本 = OpenSSL 3.0.5 5 Jul 2022 (Library: OpenSSL 3.0.5 5 Jul 2022))

关于如何纠正这些致命错误有什么想法吗?

答案1

您的 OQS 库未正确安装,要修复此问题,您必须按照以下步骤操作,首先我们安装所需的依赖项

sudo apt-get update
sudo apt-get install -y build-essential git cmake python3 libssl-dev

然后我们克隆liboqsrepo

git clone https://github.com/open-quantum-safe/liboqs.git

我们安装它

cd liboqs
mkdir build
cd build
cmake -GNinja -DOQS_USE_OPENSSL=1 ..
ninja
sudo ninja install

然后我们克隆OQS-OpenSSLrepo

cd ~
git clone https://github.com/open-quantum-safe/openssl.git

然后我们建造它

cd openssl
./Configure shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl linux-x86_64
make -j

正常情况下它应该可以工作,如果不行的话,尝试

./Configure shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl linux-x86_64 -I/usr/local/include -L/usr/local/lib
make -j

然后我们安装它sudo make install

最后我们更新LD_LIBRARY_PATH环境变量。

export LD_LIBRARY_PATH=/usr/local/ssl/lib:$LD_LIBRARY_PATH

编辑:

您应该liboqs.so在 /usr/local/lib 中,如果没有,则 OQS 库的安装存在问题。运行./Configure命令

cd ~/openssl
./Configure shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl linux-x86_64 -I/usr/local/include -L/usr/local/lib -DOQS_DIR=/usr/local

然后

make -j

然后我们尝试sudo make install

相关内容