Ubuntu18.04 交叉编译openssl-1.1.1

本文介绍了如何在ARM平台上解压并配置openssl-1.1.1-pre5源码,特别关注了no-asm和shared选项的使用,以及如何针对AARCH64架构进行交叉编译,包括修改Makefile和编译安装的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码下载地址:

openssl

此处使用的是openssl-1.1.1-pre5.tar.gz

解压:

$tar -zxvf openssl-1.1.1-pre5.tar.gz 
$cd openssl-1.1.1-pre5/

执行配置生成Makefile:

$./config no-asm shared --prefix=$PWD/__install
或者
$./config no-asm shared no-async --prefix=$PWD/__install
 
参数说明:
 
no-asm:在交叉编译过程中,不使用汇编代码代码加速编译过程,因为其汇编代码对arm格式是不支持的
shared:生成动态连接库
no-async:交叉编译工具链没有提供GNC C的ucontext库
--prefix=:安装路径

修改Makefile文件

修改生成的Makefile,并且找到有-m64的地方,删除(2处)。

Makefile第90行修改如下:

CROSS_COMPILE=/opt/gcc-linaro-7.1.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

编译安装

# 编译
make -j4
# 安装
make install

### 如何使用 `wget` 命令从 Ubuntu 安全镜像站点下载指定版本的 `libssl1.1` 为了下载特定版本的 `libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb` 文件,可以通过以下方法实现: 以下是完整的命令以及操作说明: ```bash wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb ``` 上述命令的作用是从 Ubuntu 的安全更新镜像站点获取所需的 `.deb` 包文件[^1]。 完成下载后,可以使用以下命令来安装此软件包: ```bash sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb ``` 这一步骤用于将已下载的 `.deb` 软件包手动安装到系统中。 如果遇到任何依赖关系错误,则可通过运行以下命令修复这些依赖项: ```bash sudo apt --fix-broken install ``` 需要注意的是,在某些情况下,可能需要额外配置系统的 APT 源列表以支持旧版库文件的安装。例如,通过编辑 `/etc/apt/sources.list` 添加对应的 Bionic 存储库地址[^2]。 此外,当目标机器本身缺乏必要的网络工具(如缺少 `libssl.so.1.1` 导致无法正常执行 `wget`),则建议在另一台具备完整环境的工作站上完成下载并传输至目标设备再继续后续流程[^3]。 #### 注意事项 - 确认当前操作系统架构与所选二进制文件匹配(此处为 AMD64/x86_64 平台)。 - 如果尝试直接利用标准APT机制安装可能会因版本冲突而失败,因此推荐采用手动方式处理此类特殊情况下的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值