如下是我的补充:
一,旧版本问题
CentOS默认装有旧版本的libpcap和libevent,再安装之前注意检查一下,通过软件包管理器删除旧版本就可以了。
二,动态链接库位置问题
[root@linux lib]# arpd
./arpd/arpd: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directo
[root@linux lib]# arpd
./arpd/arpd: error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directo
【分析说明】这两个问题都是链接库找不到的问题,因为默认的编译安装路径会将这两个动态链接库文件放在/usr/local/lib下,程序去/usr/lib下无法找到这两个文件从而报错。
解决方法:
方法一:直接把libevent-1.4.so.2文件拷贝到系统指定的/usr/lib库文件目录中。或者做符合连接
方法二:设置/etc/ld.so.conf文件,编辑该文件,在文件中加入libevent-1.4.so.2所在的目录,保存后退出。需要注意的是,每次改动ld.so.conf之后需要运行ldconfing来确认刷新。
【重要提示】原作者提供的两个解决方案有两个小问题,再次更正一下
方法一:此处的拷贝不能用复制黏贴的方式,要用如下语句
cp /usr/local/lib/libevent-1.4.so.2 /usr/lib
cp /usr/local/lib/libpcap.so.1 /usr/lib
方法二:此处有个拼写错误,对/etc/ld.so.conf文件修改之后,要用ldconfig命令刷新,不是ldconfing
为了解决这个问题,我花费了一整天的时间,因此再次做出更正,希望对大家有所帮助