如果按照我之前的文档,肯定可以安装成功吗?我不能保证.这不我就碰到了这样的问题.
一个新的项目要安装nagios监控几台服务器,我按照正常步骤进行着.
首先在监控服务器上安装nagios主程序,然后是安装插件,可是在make的时候报了如下的错误
gcc -g -O2 -o check_http check_http.o sslutils.o netutils.o utils.o -L/home/jacky/nagios/nagios-plugins-1.4.9/plugins -L/usr/local/openssl/lib
../lib/libnagiosplug.a ../gl/libgnu.a -lnsl -lresolv -lssl -lcrypto
/usr/local/openssl/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':
dso_dlfcn.c:(.text+0x2b4): undefined reference to `dlsym'
dso_dlfcn.c:(.text+0x361): undefined reference to `dlerror'
/usr/local/openssl/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':
dso_dlfcn.c:(.text+0x3d4): undefined reference to `dlsym'
dso_dlfcn.c:(.text+0x481): undefined reference to `dlerror'
/usr/local/openssl/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':
dso_dlfcn.c:(.text+0x4dd): undefined reference to `dlclose'
/usr/local/openssl/lib/libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
dso_dlfcn.c:(.text+0x592): undefined reference to `dlopen'
dso_dlfcn.c:(.text+0x5fb): undefined reference to `dlclose'
dso_dlfcn.c:(.text+0x623): undefined reference to `dlerror'
collect2: ld returned 1 exit status
make[2]: *** [check_http] Error 1
make[2]: Leaving directory `/home/jacky/nagios/nagios-plugins-1.4.9/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jacky/nagios/nagios-plugins-1.4.9'
make: *** [all] Error 2
|
我的步骤是保证没有错误的,重复了几次也是一样.怎么办?google.看了好多有说库文件的,有说openssl不兼容的,可就是没给出解决的办法.我逛到秋香的那篇文章里面,发现文章后面的留言有个人也是类似的错误,很可惜,秋香没有给出答案.
没办法了,按照别人的建议装rpm版的,要知道插件本身就是一些可以独立执行的程序,我装上去以后把他们copy到/usr/loca/nagios/libexec下不就行了,来个狸猫换太子.按照提示安装了很多的依赖性软件包,终于把插件都装好了.把初始的监控主机存活的服务加上去了,运行正常.
(注:我以为把这些依赖包装上去了,我的插件也可以make了,但是很不幸,仍然是那个错误,但无论如何,用rpm来安装插件是没问题了)
在被监控机上,很显然的安装插件的时候也是在这个地方报错了.(因为这些机器的初始配置都一样).而NRPE我不报希望了,因为搜索的过程中也有人在安装NRPE的时候碰到这个错误.
rpm??只有rpm吗?光是要装那些依赖性包我就会头晕了.继续google.
曙光,是的曙光!
看过之后如此解决:
在安装插件的时候如果make报这个错误,则使用
make LDFLAGS+=-ldl
在安装nrpe的时候如果make报这个错误,则使用
export CFLAGS=-ldl
./configure
make all
本文转自yahoon 51CTO博客,原文链接:http://blog.51cto.com/yahoon/43020,如需转载请自行联系原作者