我不是开发人员。
我正在尝试建立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
然后我们克隆liboqs
repo
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-OpenSSL
repo
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