欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > CentOS 6.5编译Rsyslog 8.1903.0

CentOS 6.5编译Rsyslog 8.1903.0

2025/2/10 14:41:17 来源:https://blog.csdn.net/weixin_46161645/article/details/145483389  浏览:    关键词:CentOS 6.5编译Rsyslog 8.1903.0

个人博客地址:CentOS 6.5编译Rsyslog 8.1903.0 | 一张假钞的真实世界

个人很早之前的博文,迁移至此作为历史记录。

源码下载参考我的另外一片博文:CentOS 7.3 编译 Rsyslog 8.1903.0。

本篇博文从创建构建环境开始填坑/(ㄒoㄒ)/~~。通过上一篇博文可以解决的问题此处不再赘述。

执行配置时出现以下错误:

# ./configure --enable-omhttp
configure: error: cannot find install-sh or install.sh in "." "./.." "./../.."

先执行autogen.sh出现以下错误:

# sh autogen.sh
checking for LIBESTR... configure: error: Package requirements (libestr >= 0.1.9) were not met:
No package 'libestr' found

检查没有安装libestr库,所以重新安装:

# yum install libestr libestr-devel

再次执行autogen.sh问题依旧o(╯□╰)o。需要编译安装libestr。

# wget https://libestr.adiscon.com/files/download/libestr-0.1.9.tar.gz
# tar xzvf libestr-0.1.9.tar.gz
# ./configure CC="gcc -m64" --prefix=/usr --libdir=/usr/lib64
# make
# make install

安装完成后重新执行autogen.sh问题解决。

问题逐一解决后执行自动配置成功:

# autoreconf -fvi

执行配置:

# ./configure --enable-omhttp

配置过程中出现以下错误信息:

make[3]: Entering directory `/data/kafka/rsyslog-8.1903.0/grammar'LEX    lexer.c
make[3]: *** [lexer.c] 错误 1
make[3]: Leaving directory `/data/kafka/rsyslog-8.1903.0/grammar'
make[2]: *** [all] 错误 2
make[2]: Leaving directory `/data/kafka/rsyslog-8.1903.0/grammar'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/data/kafka/rsyslog-8.1903.0'
make: *** [all] 错误 2

安装flex:

yum install flex

安装后执行autogen.sh,再次执行configure,然后执行make成功。进入omhttp目录执行make出现以下错误:

# cd contrib/omhttp
# makeCC     omhttp_la-omhttp.lo
omhttp.c: 在函数‘curlPostSetup’中:
omhttp.c:1554: 错误:‘CURLOPT_TCP_KEEPALIVE’未声明(在此函数内第一次使用)
omhttp.c:1554: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
omhttp.c:1554: 错误:所在的函数内也只报告一次。)
omhttp.c:1554: 警告:在‘_curl_opt’的声明中,类型默认为‘int’
omhttp.c:1558: 错误:‘CURLOPT_TCP_KEEPIDLE’未声明(在此函数内第一次使用)
omhttp.c:1558: 警告:在‘_curl_opt’的声明中,类型默认为‘int’
omhttp.c:1562: 错误:‘CURLOPT_TCP_KEEPINTVL’未声明(在此函数内第一次使用)
omhttp.c:1562: 警告:在‘_curl_opt’的声明中,类型默认为‘int’
make: *** [omhttp_la-omhttp.lo] 错误 1

经过Google后发现CURLOPT_TCP_KEEPALIVE是在libcurl 7.25.0之后才定义的。使用以下命令检查系统当前libcurl版本:

# rpm -q libcurllibcurl-7.19.7-52.el6.x86_64

所以需要升级curl版本,参考:https://www.jianshu.com/p/14f5f145453e。升级完成后创建以下软连接:

# ln -s /usr/local/curl/include/curl/ /usr/include/curl

再次执行编译omhttp,出现以下错误:

make[2]: Entering directory `/data/kafka/rsyslog-8.1903.0/contrib/omhttp'CC     omhttp_la-omhttp.lo
omhttp.c: 在函数‘checkConn’中:
omhttp.c:470: 警告:此函数中的‘healthUrl’在使用前可能未初始化CCLD   omhttp.la
/usr/bin/ld: cannot find -lcurl
collect2: ld returned 1 exit status
make[2]: *** [omhttp.la] 错误 1
make[2]: Leaving directory `/data/kafka/rsyslog-8.1903.0/contrib/omhttp'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/data/kafka/rsyslog-8.1903.0'
make: *** [all] 错误 2

创建以下软连接:

cd /lib64
# ln -s /usr/local/curl/lib/libcurl.so.4.5.0 libcurl.so
# ln -s /usr/local/curl/lib/libcurl.so.4.5.0 libcurl.so.4

再次编译omhttp成功!!终于大功告成O(∩_∩)O哈哈~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com