CentOS 7.9编译安装NTL,运行HQC-Round4
编译安装ntl
在/ntl-11.5.1/src目录下执行
1 | $ ./configure SHARED=on CXXFLAGS=-O3 |
修改hqc的Makefile文件
然后到HQC解压得到的 /Reference_Implementation/hqc-256 目录下 修改Makefile文件(上一行是原内容,下一行是修改后的)
1 | 7 #CPP_FLAGS:=-O3 -Wall -Wextra -Wpedantic -Wvla -Wredundant-decls |
make
修改完成后执行
1 | $ make |
然后到 /Reference_Implementation/hqc-256/bin 目录下 执行 ./hqc-256-kat
如果提示 ./hqc-256-kat: error while loading shared libraries: libntl.so.44: cannot open shared object file: No such file or directory
就需要执行export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH 或者 setenv LD_LIBRARY_PATH /usr/local/lib/:$LD_LIBRARY_PATH
然后然后重新执行 ./hqc-256-kat
1 | [qianj@wds049 bin]$ ./hqc-256-kat |
无返回正常。
如果上面执行的是make和make hqc-256,然后进入到bin目录下执行 ./hqc-256 就是有返回的 ,如下
1 | [root@wds069 bin]# pwd |
其他可能涉及的问题
yum install gf2x-devel- libstdc++库文件相关
将libstdc++.so.6.0.26复制到/lib64/目录下,然后将原来的软链接重命名后,创建新的软链接指向复制过来的文件,并注意修改权限(755)。即 libstdc++.so.6 指向 libstdc++.so.6.0.26。
可以如下进行测试1
2strings /lib64/libstdc++.so.6 | grep CXXABI
strings /lib64/libstdc++.so.6 | grep GLIBCXX



