1、系统准备
系统:ubuntu14.04,按照官网系统需要安装以下环境
|
环境 |
说明 |
安装配置方法 |
|
C compiler |
编译器 |
移植时configure配置为交叉编译器 |
|
make |
执行Makefile |
Ubuntu系统安装后具备 |
|
libtool |
通用库工具 |
Ubuntu系统安装后具备 |
|
rst2man |
用于生成man文件 |
移植到嵌入式系统不需要安装 |
|
Bison和Flex |
语法和词法分析 |
sudo apt-get install flex bison |
|
zlib |
|
sudo apt-get install libz-dev |
|
json-c |
|
sudo apt-get install libz-dev |
|
libuuid |
|
configure配置关闭 |
|
libgcrypt |
|
sudo apt-get install libgcrypt-dev |
2、依赖库
|
依赖库 |
下载 |
交叉编译 |
|
liblogging |
./autogen.sh ./configure --prefix=安装目录 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc make && make install |
|
|
libfastjson |
./autogen.sh ./configure --prefix=安装目录 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc make && make install |
|
|
libestr |
./configure --prefix=安装目录 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc make && make install |
|
|
curl |
./configure --prefix=安装目录 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc make && make install |
|
|
zlib |
AR=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc ./configure --prefix=安装目录 make && make install |
3、rsyslogd源码下载
https://www.rsyslog.com/news-releases/,我使用的是最新的8.1910版本
4、配置
说明:/home/hello/rsyslog/install是前面依赖库的安装目录
#!/bin/bash
./configure --prefix=/usr/ --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc --disable-uuid
LIBESTR_CFLAGS=/home/hello/rsyslog/install/include LIBESTR_LIBS=/home/hello/rsyslog/install/lib/libestr.so LIBFASTJSON_CFLAGS=/home/hello/rsyslog/install/include LIBFASTJSON_LIBS=/home/hello/rsyslog/install/lib/libfastjson.so LIBGCRYPT_CFLAGS=/home/hello/rsyslog/install/include LIBGCRYPT_LIBS=/home/hello/rsyslog/install/lib/libgcrypt.so LIBLOGGING_CFLAGS=/home/hello/rsyslog/install/include LIBLOGGING_LIBS=/home/hello/rsyslog/install/lib/liblogging-stdlog.so CURL_LIBS=/home/hello/rsyslog/install/lib/ CURL_CFLAGS=/home/lhello/rsyslog/install/include
5、问题
缺什么补什么
6、部署
把相关依赖库部署到嵌入式文件系统,简单点就是把编译完成后安装生成的文件拷贝到嵌入式文件系统目录(configure配置的prefix目录,这里使用/usr/)