海思芯片 交叉编译curl

ops/2024/12/18 11:23:58/

编译之前需要安装编译工具链

sudo apt-get update
sudo apt-get install gcc-aarch64-linux-gnu

检查是否安装成功(我的是aarch64-v01c01-linux-gnu-gcc,aarch64-v01c01-linux-gnu-gcc 工具链是一个特定版本的 ARM 交叉编译工具链)

 aarch64-linux-gnu-gcc --version

安装好工具链后,要准备交叉编译curl所依赖的库和包,例如openssl ,因为我们想使用ssl功能,支持HTTPS等安全协议(不需要就不用准备这步,编译出错怎么解决后面会说)。

编译openssl

下载openssl

wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_x_y_z.tar.gz

 下载成功并解压

tar -xzvf openssl-x.y.z.tar.gz

解压成功: 

进入解压后的openssl,配置makefile文件 

 ./config no-asm shared no-async --prefix=/usr/local/openssl--cross-compile-prefix=/usr/local/openssl aarch64-linux-gnu-

 配置成功:

 执行make 

如果出现错误 -m64 就打开makefile文件删除-m64

然后安装 opensslmake install

 验证是否成功:

openssl version

 which openssl

 编译curl

下载curl 并解压

wget https://curl.se/download/curl-8.10.0.tar.bz2 
tar -xjf curl-8.10.0.tar.bz2
cd curl-8.10.0

 进入到解压后的目录

 配置 curl 使用交叉编译工具链

配置 curl 源码以使用交叉编译工具链进行编译。你需要设置交叉编译的 --hostCC 等参数。对于 aarch64-v01c01-linux-gnu-gcc 工具链,配置命令如下:

./configure --host=aarch64-v01c01-linux-gnu --prefix=/path/to/installation/directory CC=aarch64-v01c01-linux-gnu-gcc 

 如何使用上述的命令 没有设置curl依赖的库 就会报错说找不到什么什么库(就像下面的图片中那样) 这个时候就需要设置库

 报错说Brotli、Zstd、LDAP、libpsl 库找不到 只需要在命令后面加上 --without-bortli  --without-zstd等。()

./configure --host=aarch64-v01c01-linux-gnu --prefix=/path/to/installation/directory CC=aarch64-v01c01-linux-gnu-gcc --disable-shared --enable-static --without-brotli --without-zstd --without-ldap

 需要的就使用 --with-ssl=路径

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==编辑 

配置成功就是下面的界面,可以发现 no 就表示不能使用这个功能, 如果你要使用这个功能就需要先配置好相应的环境,就像openssl一样,我们安装了openssl 并且在配置命令中写了相应的命令,所以ssl 就是on。

上面就是我们配置好了makefile文件

下面运行makefile文件,和运行openssl的makefile文件的步骤是一样的

 make

 

make install 

检查是否安装成功 (通过查看版本和位置)

curl --version

which curl

 我查看了 和我安装的版本对不上 ,但是也没有报错 不知道整对没有,明天再验证到底对不对


http://www.ppmy.cn/ops/142893.html

相关文章

CSS系列(19)-- 主题切换详解

前端技术探索系列:CSS 主题切换详解 🎨 致读者:探索动态主题的魅力 👋 前端开发者们, 今天我们将深入探讨 CSS 主题切换,学习如何构建灵活的主题系统。 主题系统设计 🚀 CSS 变量定义 /* …

锂电池SOH预测 | 基于BiGRU双向门控循环单元的锂电池SOH预测,附锂电池最新文章汇集

锂电池SOH预测 | 基于BiGRU双向门控循环单元的锂电池SOH预测,附锂电池最新文章汇集 目录 锂电池SOH预测 | 基于BiGRU双向门控循环单元的锂电池SOH预测,附锂电池最新文章汇集预测效果基本描述程序设计参考资料 预测效果 基本描述 锂电池SOH预测 | 基于Bi…

在 DDD 中优雅的发送 Kafka 消息

前言 1:host 映射 下载 SwitchHost 配置一个映射地址。点击 添加一个本地环境,之后配置你的 IP kafka 这样就能找这个地址了。IP 为你本地的IP,如果是云服务器就是公网IP地址 使用docker-compose.yml进行一键部署安装 version: 3.0 # docker-compose …

【信息系统项目管理师】【综合知识】【备考知识点】第二十章 高级项目管理

【移动端浏览】☞ 【信息系统项目管理师】第二十章 高级项目管理 第二十章 高级项目管理 项目集管理 (项目集管理)角色和职责(1)项目集发起人 ①为项目集提供资金,确保项目集目标与战略愿景保持一致; ②使效益实现交付&#xff…

【网络】五种IO模型多路转接select/poll/epollReactor反应堆模式

主页:醋溜马桶圈-CSDN博客 专栏:计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.五种 IO 模型 1.1 阻塞 IO 1.2 非阻塞 IO 1.3 信号驱动 IO 1.4 IO 多路转接 1.5 异步 IO 2.高级 IO 重要概念 2.1 …

elasticsearch 使用enrich processor填充数据

文章目录 使用 POST 请求手动插入用户数据1. 创建 Enrich Policy步骤 1.1: 创建 Enrich Policy步骤 1.2: 执行 Enrich Policy 2. 创建 Ingest Pipeline步骤 2.1: 创建 Ingest Pipeline步骤 2.2: 配置 Enrich Processor 参数 3. 使用 Ingest Pipeline步骤 3.1: 使用 Pipeline 进…

数字经济转型(三):要素市场化

商业的本质是价值创造和价值交换,数据要素的流通同样遵循此原则。数据要素本身是数字世界的数据,同时又映射了现实世界的价值属性,其使用价值具备了价值交换的基础,流通价值代表了具备流通的可能性。 按国家数据局的官方释义&…

spring循环依赖深度源码解析

spring循环依赖深度源码解析 一,什么是循环依赖问题 简单来说循环依赖就是在spring容器中的两个Bean互相调用对方 在这里我们创建了两个对象A,B,在A中调用B,在B中调用A,这样就会产生循环依赖问题 public class A {private B b…