Jetson 系列——jetson nano Ubuntu18.04安装Openssl-1.1.1

1.查看版本

Ubuntu的版本是18.04。使用openssl version命令查看openssl版本,可以看到Ubuntu自带了openssl-1.1.0版本,因此安装新版本需要替换旧版本。

在这里插入图片描述

2.下载openssl

打开openssl官网的下载页面可以看到最新的软件包,下载openssl-1.1.1b.tar.gz。放到Ubuntu系统中。

在这里插入图片描述

3.解压和安装

使用命令解压。

tar -xzvf openssl-1.1.1b.tar.gz

使用

cd openssl-1.1.1b

进入目录,并且使用./config生成MakeFile,不加任何参数,默认的安装位置为:/usr/local/bin/openssl
在这里插入图片描述

使用make进行编译

不放心的话可以使用make test检查一下(可选步骤)

使用sudo make install进行安装,这里一定要选择root用户的权限执行。

4.备份与替换

到上一步openssl就算安装好了,但是还无法使用,需要通过软链接的方式将新旧版本就行替换,依次运行下列命令。

sudo mv /usr/bin/openssl /usr/bin/openssl.old    //将旧版本的openssl进行备份
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl    //将新版本的openssl进行软链接
cd /etc/   //进入etc目录
su     //下一步一定要切换到root用户
echo "/usr/local/lib" >> ld.so.conf    //将openssl的安装路径加入配置中
ldconfig  //重新加载配置

使用openssl version查看,已经安装好。

在这里插入图片描述

如果需要更换版本的话(一般也不会),修改软链接的名称即可,参照:

sudo mv /usr/bin/openssl /usr/bin/openssl.new
sudo mv /usr/bin/openssl.old /usr/bin/openssl

5.安装依赖库
openssl安装结束之后,需要安装依赖库才能够进行编程,使用sudo apt-get install libssl-dev安装依赖库,可以看到同时也下载了libssl-doc

在这里插入图片描述

由于下载的依赖库比较旧,我们在前面安装的openssl包中已经安装了新版本的库,因此需要将新旧库进行替换,仍然要做上一步的原因是尽量把能自动配置安装的东西安装好,只需要手动替换新的东西。下面是新旧库的对比(上面为新):

在这里插入图片描述

依次使用以下命令进行替换:

sudo mv /usr/include/openssl /usr/include/openssl.old    //将旧版本进行备份
sudo ln -s /usr/local/include/openssl /usr/include/openssl    //将新版本进行软链接

6.测试
编写一个测试代码test_openssl.c:

#include <stdio.h>
#include <openssl/evp.h>

int main(){
    
    OpenSSL_add_all_algorithms();
    
    return 0;
}

然后用下面的命令编译:

gcc -o to test_openssl.c -L/usr/local/openssl/lib -lssl -lcrypto -ldl -lpthread

执行./to;echo $?,结果打印0。

https://www.cnblogs.com/jsjliyang/p/10606908.html

注意可能会出现安装错误
报错:

./openssl: relocation error: ./openssl: symbol EVP_mdc2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference

open1.1.1安装成功后,执行openssl产生错误
ldd /usr/local/bin/openssl命令查到openssl 的依赖库为
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
发现这个文件是19年的,现在是20年,我猜是安装openssl1.1.1之前这个文件就存在了(是不是1.1.0和1.1.1版本都用libcrypto.so.1.1-_-),然后安装的时候发现这个文件存在就没用新的去覆盖。
后来用新生成的libcrypto.so.1.1替换/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1就可以运行openssl了

即输入

sudo find / -name "libcrypto.so"

找到这个lib的位置,如/usr/local/bin/libcrypto.so.1.1
那么,将这个文件cp到对应目录下

sudo cp /usr/local/bin/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1

或者将下载的目录下生成的libcrypto.so.1.1cp到对应目录下

sudo cp /usr/local/bin/libcrypto.so.1.1 /usr/lib/aarch64-linux-gnu/
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值