Как мне установить Net :: Arping на CentOS 5? - PullRequest
0 голосов
/ 23 октября 2011

Я пытался установить пакет Net :: Arping с помощью cpan, и я не могу этого сделать из-за ошибок ...

CPAN.pm: Going to build R/RI/RIIKI/Net-Arping-0.02.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Net::Arping
cp Arping.pm blib/lib/Net/Arping.pm
/usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap             /usr/lib/perl5/5.8.8/ExtUtils/typemap  Arping.xs > Arping.xsc && mv Arping.xsc Arping.c
Please specify prototyping behavior for Arping.xs (see perlxs manual)
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-    statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -    I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-    protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"0.02\" -    DXS_VERSION=\"0.02\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"  -    D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD -DHAVE_NET_ETHERNET_H Arping.c
Arping.xs: In function ‘XS_Net__Arping_send_arp’:
Arping.xs:116: warning: implicit declaration of function ‘libnet_name_resolve’
Arping.xs:124: warning: passing argument 1 of ‘libnet_select_device’ from incompatible     pointer type
Arping.xs:124: error: too many arguments to function ‘libnet_select_device’
Arping.xs:130: warning: implicit declaration of function ‘libnet_open_link_interface’
Arping.xs:130: warning: assignment makes pointer from integer without a cast
Arping.xs:135: warning: implicit declaration of function ‘libnet_get_ipaddr’
Arping.xs:140: error: ‘LIBNET_IP_H’ undeclared (first use in this function)
Arping.xs:140: error: (Each undeclared identifier is reported only once
Arping.xs:140: error: for each function it appears in.)
Arping.xs:143: warning: implicit declaration of function ‘libnet_init_packet’
Arping.xs:148: warning: passing argument 1 of ‘libnet_get_hwaddr’ from incompatible pointer type
Arping.xs:148: error: too many arguments to function ‘libnet_get_hwaddr’
Arping.xs:148: warning: assignment from incompatible pointer type
Arping.xs:156: warning: passing argument 6 of ‘libnet_build_ethernet’ from incompatible pointer type
Arping.xs:156: error: too few arguments to function ‘libnet_build_ethernet’
Arping.xs:161: warning: passing argument 12 of ‘libnet_build_arp’ from incompatible pointer type
Arping.xs:161: error: too few arguments to function ‘libnet_build_arp’
Arping.xs:166: warning: pointer targets in passing argument 1 of ‘pcap_open_live’ differ in signedness
Arping.xs:185: warning: implicit declaration of function ‘libnet_write_link_layer’
Arping.xs:196: warning: implicit declaration of function ‘libnet_close_link_interface’
Arping.xs:197: warning: implicit declaration of function ‘libnet_destroy_packet’
make: *** [Arping.o] Error 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

Мне нужен этот модуль perl для сценария check_arping для Nagios.

Некоторые дополнительные сведения:

[root@atlantis build]# uname -a
Linux atlantis 2.6.18-238.9.1.el5xen #1 SMP Tue Apr 12 18:53:56 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
[root@atlantis build]# rpm -qa | grep libnet
libnet-1.1.2.1-2.rf
[root@atlantis build]# rpm -qa | grep libpcap
libpcap-devel-0.9.4-15.el5
libpcap-0.9.4-15.el5
libpcap-0.9.4-15.el5
libpcap-devel-0.9.4-15.el5
[root@atlantis build]#

Как вы видите, я установил libnet, libpcap, и все еще есть проблемы ... У кого-нибудь есть идеи, как решить эту проблему?

1 Ответ

3 голосов
/ 23 октября 2011

Вы установили libpcap-devel, но не libnet-devel.Версия RPM * -devel включает заголовочные файлы C. Эти файлы часто требуются при сборке модулей на основе XS.

Попробуйте sudo yum install libnet-devel перед повторной сборкой модуля.

Обновление: Совет выше был верным, но недостаточным.Я только что проверил это на установке Centos 5.6, и она дает сбой с точно такими же ошибками.

Глядя на результаты тестеров CPAN , становится ясно, что версия 0.02 Net :: Arping 0.02.не строил успешно ни для кого в течение очень долгого времени.Этот дистрибутив был загружен в CPAN в 2002 году, и похоже, что его код XS просто не совместим с современными версиями libnet.

Однако на CPAN существует версия 0.03 Net :: Arping..Это успешно строится на моем Centos 5.6.Я предлагаю вам перейти на использование этого вместо.Я еще не понял, почему cpan не распознает версию 0.03.Я вижу, что это от другого автора, так что это может быть проблема с разрешениями.Вы должны сообщить об этой проблеме по адресу modules@cpan.org.

.
...