RK3588移植Openssl库

前言

最近需要用到Mqtt协议,但是mqtt又得依赖openssl,所有就先移植opensll库了,这里分享下移植的过程

一、克隆Openssl库

复制代码
git clone https://github.com/openssl/openssl/tags

二、交叉编译成arm64架构的库

将压缩包上传至开发板解压

复制代码
tar -xvzf openssl-1.1.1t.tar.gz

如果没有安装交叉编译链的需要先安装

复制代码
sudo apt update
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

进入openssl-1.1.1t目录

生成Makefile文件

复制代码
./config no-asm shared CROSS_COMPILE=aarch64-linux-gnu- --prefix=/home/forlinx/Public/openssl

相关参数描述:

其中"prefix"是安装目录,"openssldir"是配置文件目录,"shared"作用是生成动态链接库(即.so库) 。

CROSS_COMPILE指定交叉编译器的前缀

如果编译有问题,配置命令加上no-asm(表示不使用汇编代码),no-asm是在交叉编译过程中不使用汇编代码加速编译过程,原因是它的汇编代码对arm平台不支持。

打开Makefile文件,注释-m64相关的信息,因为咱们的arm-linux-gcc 是32位的

执行编译

复制代码
make depend
make

安装

复制代码
make install

显示这样就是安装成功了

压缩lib

复制代码
cd /openssl/lib
tar -czf libopenssl.tar.gz ./*

拷贝到usr/lib目录下解压缩

复制代码
cd /usrlib
tar -xzf libopenssl.tar.gz 

移植完成

相关推荐
是小胡嘛5 小时前
C++之Any类的模拟实现
linux·开发语言·c++
口袋物联6 小时前
设计模式之工厂模式在 C 语言中的应用(含 Linux 内核实例)
linux·c语言·设计模式·简单工厂模式
qq_479875436 小时前
X-Macros(1)
linux·服务器·windows
笨笨聊运维8 小时前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
HIT_Weston9 小时前
39、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)
linux·前端·ubuntu
福尔摩斯张10 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
TH_110 小时前
腾讯云-(3)-Linux宝塔面板使用
linux·云计算·腾讯云
虚伪的空想家10 小时前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm
深藏bIue11 小时前
linux服务器mysql目录下的binlog文件删除
linux·服务器·mysql
虾..11 小时前
Linux 进程状态
linux·运维·服务器