rsyslog交叉编译(armv7、armv8、aarch64、arm32平台通用)

news2025/1/14 18:33:38

文章目录

  • 1、依赖库列表
  • 2、编译建议
  • 3、编译
    • 3.1、编译libestr
    • 3.2、编译libfastjson
    • 3.3、编译zlib
    • 3.4、编译libuuid
    • 3.5、编译libgpg-error
    • 3.6、编译libgcrypt
    • 3.7、编译openssl
    • 3.8、编译curl
    • 3.9、编译rsyslog

该文档描述了如何交叉编译rsyslog到arm64嵌入式平台。

1、依赖库列表

  • libestr-0.1.11
  • libuuid-1.0.3
  • libfastjson-0.99.8
  • libgcrypt-1.8.7
  • libgpg-error-1.39
  • openssl-1.1.1g
  • curl-7.74.0
  • zlib-1.2.11

2、编译建议

这里由于依赖较多,因此建议在编译安装的时候,将安装路径选择在同一路径下,这样在其他软件需要依赖时,只需要指定一个路径即可,极大的方便后续配置。同时为了方便拷贝生成库,我们单独指定一个安装库路径。

一个一个进行编译可以参考第三小节单个编译流程,按照步骤一步一步编译基本是没有问题的。

编译rsyslog涉及非常多依赖,因此我将其整理成了一个编译脚本,进行一键编译。
下载连接
文件目录:在这里插入图片描述
在顶层make.sh脚本中修改为自己的交叉编译链工具即可。
在这里插入图片描述
然后执行:./make.sh 即可进行编译
编译后的库在:lib下面
编译后的二进制及其他头文件等在:install目录下面。

3、编译

注意,下面每一个依赖都要确认编译成功,否则都将导致后续编译rsyslog编译失败。

3.1、编译libestr

获取源码:

wget http://libestr.adiscon.com/files/download/libestr-0.1.11.tar.gz

编译shell:

#!/bin/bash
top_dir=$(pwd)
export PATH=$PATH:$top_dir/toolchain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin
CROSS_COMPILING_PREFIX=aarch64-none-linux-gnu
INSTALL_PATH=$top_dir/install
INSTALL_LIB_PATH=$top_dir/lib
# 解压 编译libestr
if [ -e $top_dir/src/libestr-0.1.11 ]
then
    echo "libestr-0.1.11 have be decompression"
else
    tar -xvf $top_dir/download/libestr-0.1.11.tar.gz -C $top_dir/src/
fi
cd $top_dir/src/libestr-0.1.11
./configure --host=$CROSS_COMPILING_PREFIX --prefix=$INSTALL_PATH --libdir=$INSTALL_LIB_PATH
make
(( $? == 0 )) || exit 1
make install
cd -

3.2、编译libfastjson

获取源码

wget http://download.rsyslog.com/libfastjson/libfastjson-0.99.8.tar.gz

编译shell:

#!/bin/bash
top_dir=$(pwd)
export PATH=$PATH:$top_dir/toolchain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin
CROSS_COMPILING_PREFIX=aarch64-none-linux-gnu
INSTALL_PATH=$top_dir/install
INSTALL_LIB_PATH=$top_dir/lib
# 解压 编译libfastjson
if [ -e $top_dir/src/libfastjson-0.99.8 ]
then
    echo "libfastjson-0.99.8 have be decompression"
else
    tar -xvf $top_dir/download/libfastjson-0.99.8.tar.gz -C $top_dir/src/
fi
cd $top_dir/src/libfastjson-0.99.8
./configure --host=$CROSS_COMPILING_PREFIX --prefix=$INSTALL_PATH --libdir

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2093514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openjudge- 4.6算法之贪心_8469:特殊密码锁

题目 8469:特殊密码锁 总时间限制: 1000ms 内存限制: 1024kB 描述 有一种特殊的二进制密码锁&#xff0c;由n个相连的按钮组成&#xff08;n<30&#xff09;&#xff0c;按钮有凹/凸两种状态&#xff0c;用手按按钮会改变其状态。 然而让人头疼的是&#xff0c;当你按一个…

c++140namespace和ioterm

c语言只有一个全局定义域 那么可能会调错函数&#xff0c;调 错定义域 #include"iostream" using namespace std;//iostream 没有引入标准的std,需要手工写 //如果不写using namespace 需要引入std void main() {std::cout << "using test" <<…

【web开发】Spring Boot 快速搭建Web项目(二)

Date: 2024.08.31 18:01:20 author: lijianzhan 简述&#xff1a;根据上篇原文Spring Boot 快速搭建Web项目&#xff0c;由于搭建好项目后仍然无法使用, 我们还需要先配置一下项目。 操作如下&#xff1a; 找到src/main/resources文件夹&#xff0c;在该文件夹下点击右键创建…

【我的Android进阶之旅】使用TabLayout自定义一个TitleTabView

文章目录 零、效果图一、自定义一个TitleTabView1.1 自定义属性(attrs.xml 中)1.2 自定义TitleTabView1.3 TabItem的子布局1.4 颜色值二、在 XML 中使用 `TitleTabView`2.1 布局文件(XML)2.1.1属性说明三、在 Kotlin 中使用 `TitleTabView`:零、效果图 其中Tab 2是选中的效果…

【电子数据取证】Linux软件包管理器yum和编辑器vim

文章关键词&#xff1a;电子数据取证、手机取证、安卓取证、云取证 在Linux系统中&#xff0c;我们会进行一些软件的安装以及对一些服务或软件的配置&#xff0c;这时就需要用到Linux的yum以及编辑器&#xff0c;下面我们就来看一下这两个功能。 Linux软件包管理器yum 一、什…

数学建模强化宝典(3)fminsearch

一、介绍 fminsearch 是 MATLAB 中用于寻找单变量或多变量函数局部最小值的函数&#xff0c;它不需要函数的导数信息&#xff0c;属于无导数优化方法的一种。该函数通过单纯形搜索&#xff08;simplex search&#xff09;算法来工作&#xff0c;单纯形是n维空间中的一个n1顶点的…

ET算法【动态规划】

线性dp&#xff1a;dp[i][j] 由 dp[i - 1][j] 通过加减乘除等线性运算得到 状压dp&#xff1a;dp[i][j] 表示一个用二进制数表示的子集来反映当前状态&#xff0c;如7 &#xff08;111&#xff09;&#xff08;选了三个&#xff09; 期望dp&#xff1a;dp[i][j] 表示期望或者…

Redis从入门再到入门(中)

文章目录 1.Redis的数据类型1.1 Redis的5中数据类型1.2 字符串类型String1.3 哈希类型hash1.4 列表类型list1.5 集合类型set1.6 有序集合类型sortset 2.Redis的通用命令 1.Redis的数据类型 1.1 Redis的5中数据类型 redis是一种高级的key-value的存储系统&#xff0c;其中valu…

【Godot4.3】MarkDown编辑和控件事实渲染

概述 这是本人2024年5月份左右编写的一个简易的MarkDown编辑和渲染测试项目&#xff0c;基于自己编写的MarkDown解析和生成类MDdoc编写。之前是作为一个试验性的内容混乱的放置在另一个测试项目中&#xff0c;现在独立为一个单独项目。因为测验成功后就一直没改动&#xff0c;…

IEEE P3233 标准启动会回顾:迈向去中心化存储标准化的第一步

2024 年 8 月 30 日&#xff0c;由 CESS 发起的 IEEE P3233《Standard for Blockchain-Based Decentralized Storage Protocol Specification》标准启动会顺利举行。 此次会议标志着 IEEE P3233 标准制定的正式启动&#xff0c;也代表了去中心化存储技术标准化进程的正式开始。…

数据源10min自动断开连接导致查询抛异常(未获取可用连接)

由于个人能力有限&#xff0c;本文章仅仅代表本人想法&#xff0c;若有不对请即时指出&#xff0c;若有侵权&#xff0c;请联系本人。 1 背景 工作中引入druid来管理数据源连接&#xff0c;由于数据源每隔10分钟强制管理空闲超过10分钟的连接&#xff0c;导致每隔10分钟出现1…

如何构造哈夫曼树

目录 一、哈夫曼树的概念 1、结点的权&#xff1a; 2、结点的带权路径长度 3、树的带权路径长度 4、哈夫曼树 二、哈夫曼树的构造 1、构造步骤 三、哈夫曼树的编码 一、哈夫曼树的概念 1、结点的权&#xff1a; 定义&#xff1a; 每个结点的权重&#xff08;重要性…

fork入门

1哪个分支会打印 如下是fork的典型问题。fork之后有3个分支&#xff0c;分别是pid等于0&#xff0c;pid大于0&#xff0c;pid小于0。如果我们不了解fork的话&#xff0c;那么肯定会认为这里的if else分支只会有一个分支被执行。而实际的执行结果是两个分支都执行了。fork返回之…

客流预测 | 基于Transformer下车站点客流推断研究(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于Transformer的车站客流推断研究是指利用Transformer模型来预测车站的客流情况。Transformer是一种强大的深度学习模型&#xff0c;特别擅长处理序列数据。研究可以为城市交通管理提供重要决策支持&#xff0c;帮…

恢复丢失的数据:iPhone 恢复指南

不小心删除了 iPhone 上的重要数据并意识到它没有备份&#xff1f;您并不孤单。在 iPhone 上恢复永久删除的数据似乎令人生畏&#xff0c;但并非总是不可能。我们将探索各种方法&#xff0c;包括使用专门的软件和备份恢复选项&#xff0c;为您提供恢复丢失数据的最佳机会。 常见…

裸机:LCD

什么是LCD&#xff1f; LCD&#xff0c;全称为Liquid Crystal Display&#xff0c;即液晶显示屏&#xff0c;是一种利用液晶物质的光学特性&#xff0c;通过控制电场来改变光的透过性&#xff0c;从而实现图像显示的技术。以下是关于LCD的详细解释&#xff1a; 一、LCD的基本…

ElementPlus实现页面,上部分是表单,下部分是表格

效果 <template><el-dialog v-model"produceDialogFormVisible" draggable custom-class"dialog-title" :title"title" :close-on-click-modal"false"><el-form label-width"120px"><el-row :gutter&q…

【STM32H743】将全局变量定义到指定内存MDK

STM32H743将全局变量定义到指定内存MDK 2024年8月31日 #elecEngeneer 上链 参考硬汉嵌入式。 这样Target里面的设置就作废了。 把H743的几个SRAM写上 ; ************************************************************* ; *** Scatter-Loading Description File generated by…

5G智慧工地项目汇报方案

1. 项目概述 5G智慧工地项目旨在通过5G技术提升建筑工地的通信、安防、质量管理和精益化管理水平&#xff0c;打造科技感十足的“5G智慧建造体验中心”。 2. 智慧工地需求 当前智慧工地需求集中在实时化、可视化、多元化、智慧化和便捷化&#xff0c;以满足全时段安全管理和…

《机器学习》周志华-CH4(决策树)

4.1基本流程 决策树是一类常见的机器学习方法&#xff0c;又称“判别树”&#xff0c;决策过程最终结论对应了我们所希望的判定结果。 一棵决策树 { 一个根结点 包含样本全集 若干个内部结点 对应属性测试&#xff0c;每个结点包含的样本集合根据属性测试结果划分到子结点中 若…