rsyslog移植(亲测成功)

1、概述:

移植rsyslog需要很多依赖库,只编译rsyslog之前先得把这些依赖库编译OK。

为了交叉编译的方便,可以把所以依赖库编译出来的库文件和头文件拷贝到交叉编译工具对应的目录下。

 

2、依赖库:

依赖库列表:

libestr

libfastjson

json

liblogging-stdlog    

libgcrypt

 

3、编译

3.1 libestr

下载:wget http://libestr.adiscon.com/files/download/libestr-0.1.9.tar.gz

要求版本大于等于0.1.9

tar xvf libestr-0.1.9.tar.gz && cd libestr-0.1.9

./configure --prefix=安装目录 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc

make && make install

 

3.2 libfastjson

git clone https://github.com/rsyslog/libfastjson.git

cd libfastjson

sh autogen.sh

./configure --prefix=安装目录 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc

make && make install

 

3.3 json

wget https://github.com/downloads/json-c/json-c/json-c-0.10.tar.gz

tar xvf json-c-0.10.tar.gz

cd json-c-0.10

./configure --prefix=安装目录 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc

make && make install

问题:在编译json时,可能会出现 undefined reference to rpl_malloc的错误,此时把config.h.in文件中#undef malloc定义注释掉便可。

 

3.4 liblogging-stdlog    

git clone https://github.com/rsyslog/liblogging.git

cd liblogging

autoreconf -fvi

./configure --prefix=编译路径 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc

make && make install

 

3.5 libgcrypt

wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.2.tar.gz // 1.7.6版本没有编译成功

tar -xvf libgcrypt-1.5.2.tar.gz

cd libgcrypt-1.5.2

./configure --disable-nls --disable-asm --prefix=编译路径 --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc

make && make install

 

3.6 拷贝

       把以上编译出来的库和头文件,以及.pc文件拷贝到交叉编译工具对应目录中。

注意拷贝json的头文件时,编译处理的头文件是包括在json的目录下的,要把json目录下的文件头的工具include中,而不是考目录过去。

 

3.7 rsyslog

编译rsyslog加参数 --disable-liblogging_stdlog

因为尝试安装liblogging-stdlog后,编译时仍报错“No package 'liblogging-stdlog' found”,因此在编译时选择加参数--disable-liblogging_stdlog

tar -xvf rsyslog-8.1.6.tar.gz

cd rsyslog-8.1.6

./configure --host=arm-linux-gnueabihf --prefix=/home/sampson/third_libs/rsyslog-8.1.6/build --disable-liblogging_stdlog CC=arm-linux-gnueabihf-gcc LIBESTR_CFLAGS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/include LIBESTR_LIBS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/lib LIBLOGGING_STDLOG_CFLAGS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/include LIBLOGGING_STDLOG_LIBS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/lib JSON_C_CFLAGS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/include JSON_C_LIBS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/lib LIBUUID_CFLAGS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/include LIBUUID_LIBS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/lib LIBGCRYPT_LIBS=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/lib 

make && make install

 

问题:

        配置过程中出现过寻找本地目录下的libestr的库,提示格式不对,不知道为什么不找交叉编译中的对应库,为了速度我使用了粗暴的方法,直接把本地的库移动其他地方,再配置则不再提示这个错误。

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值