ubuntu 依赖gmssl的程序编译

由于实验需要从原来centos的环境换到了ubuntu的环境,实验所需的许多库都需重新安装。gmssl库的编译和安装都没有报错,顺利的make与make install完成。(安装可以参考官网http://gmssl.org/docs/quickstart.html)

编译我自己的程序(里面有对gmssl的libcrypto的依赖)也没问题,运行的时候报错
symbol SHA256_Update version OPENSSL_1_1_0d not defined in file libcrypto.so.1.1 with link time refe

搜了一下是因为编译连接的库连接到了ubuntu系统的库而非gmssl自己的库,由于他编译连接是会从LD_LIBRARY_PATH目录寻找对应的库,所以优先找到了系统自带的库。

为此有两种方法,一种是修改一下gmssl的Makefile文件,可以参考这个博客https://blog.csdn.net/sihuibin/article/details/102638630

第二种是export LD_LIBRARY_PATH=/xxx/xxx:$LD_LIBRARY_PATH

两种方法都是亲测可用的