Форум русскоязычного сообщества Ubuntu


Автор Тема: сборка ipcad  (Прочитано 6599 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ziv

  • Автор темы
  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
сборка ipcad
« : 05 Август 2008, 12:38:33 »
Не могу собрать ipcad 3.7.3. Пишет
In file included from ipcad.h:33,
                     from main.c:29:
psrc.h:93: error: field `peer' has incomplete type
./configure выполняется без ошибок (после того, как я установил libpcap-dev). Наверное, ему еще что-то нужно?
Гуглил по этой ошибке, нашел подобные, но без решений.

ЗЫ Да, 93-я строка psrc.h:
struct sockaddr_nl peer;Может, кто знает, в каком хэдере объявляется sockaddr_nl?
« Последнее редактирование: 05 Август 2008, 13:12:39 от ziv »

Оффлайн Kwah

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: сборка ipcad
« Ответ #1 : 05 Август 2008, 14:27:30 »
Мдя. Что-то поломано.

Вроде бы то, что нужно, описано в <linux/netlink.h> однако проверка на него в configure не проходит
Цитировать
checking for linux/netlink.h... no

Постучи разработчику.

Оффлайн ziv

  • Автор темы
  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: сборка ipcad
« Ответ #2 : 05 Август 2008, 14:36:21 »
Ага, прописал в headers.h безусловное включение <linux/netlink.h> - собралось.
Отпишусь разработчику.
« Последнее редактирование: 05 Август 2008, 14:40:31 от ziv »

Оффлайн elec

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: сборка ipcad
« Ответ #3 : 23 Октябрь 2008, 18:25:41 »
Ага, прописал в headers.h безусловное включение <linux/netlink.h> - собралось.
Отпишусь разработчику.

Если я правильно понял, то достаточно было раскомментить 2уй строчку из ниже следующих?

     #ifdef  HAVE_LINUX_NETLINK_H
     #include <linux/netlink.h>
     #endif

делаю после этого ./configure, затем make и опять таже ошибка :-(
мож кто еще как-то поборол, или я что-то неправильно сделал?

Оффлайн ziv

  • Автор темы
  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: сборка ipcad
« Ответ #4 : 23 Октябрь 2008, 19:24:35 »
Тут # - не обозначение комментария, а часть директивы препроцессора. Поэтому надо закомментировать условие:

     //#ifdef  HAVE_LINUX_NETLINK_H
     #include <linux/netlink.h>
     //#endif

Оффлайн elec

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: сборка ipcad
« Ответ #5 : 23 Октябрь 2008, 23:21:09 »
спасибо большое!
в благодарность - баянчик:
Юникс никогда не будет дружелюбным к пользователю, пока в нём команды "человек", "гора", "гудрон", "кошка" и "рысь" не делают ничего относящегося к человеку, горе, гудрону, кошке и рыси. (с) <Whoo> (bash.org.ru)
=)

Оффлайн elec

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: сборка ipcad
« Ответ #6 : 24 Октябрь 2008, 12:47:57 »
всё-равно нифига не получается =(
libpcap и libpcap-dev стоят вроде

root@server2:/home/ubuntu/ipcad-3.7.3# make
gcc -g -O2 -I/usr/local/include -DHAVE_CONFIG_H -W -Wall -o ipcad main.o process.o pps.o disp.o storage.o usage.o cfgy.o cfglex.o cfgread.o cfgvar.o rsh.o rshp.o dump.o import.o nflow.o cshelly.o cslex.o csparse.o service.o rw.o servers.o opt.o pidfile.o sf_lite.o ifst_linux.o              ifs_list.o                      loop-pcap.o             loop-file.o               loop-divert.o           loop-dynamic.o          loop-ulog.o loop-ipq.o  psrc.o psrc-pcap.o      psrc-ipq.o psrc-ulog.o  psrc-file.o             psrc-dynamic.o   psrc-divert.o            wrap_oclose.o           genhash.o                       -L/usr/local/lib -lnsl  -pthread
loop-pcap.o: In function `process_pcap':
/home/ubuntu/ipcad-3.7.3/loop-pcap.c:61: undefined reference to `pcap_dispatch'
/home/ubuntu/ipcad-3.7.3/loop-pcap.c:66: undefined reference to `pcap_fileno'
loop-file.o: In function `process_file':
/home/ubuntu/ipcad-3.7.3/loop-file.c:47: undefined reference to `pcap_loop'
psrc.o: In function `destroy_packet_source':
/home/ubuntu/ipcad-3.7.3/psrc.c:237: undefined reference to `pcap_close'
psrc-pcap.o: In function `print_stats_pcap':
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:172: undefined reference to `pcap_stats'
psrc-pcap.o: In function `reopen_packet_source_pcap':
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:50: undefined reference to `pcap_close'
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:63: undefined reference to `pcap_open_live'
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:76: undefined reference to `pcap_datalink'
psrc-pcap.o: In function `apply_filter':
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:148: undefined reference to `pcap_compile'
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:151: undefined reference to `pcap_setfilter'
psrc-pcap.o: In function `reopen_packet_source_pcap':
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:79: undefined reference to `pcap_close'
psrc-pcap.o: In function `init_packet_source_pcap':
/home/ubuntu/ipcad-3.7.3/psrc-pcap.c:132: undefined reference to `pcap_close'
psrc-file.o: In function `reopen_packet_source_file':
/home/ubuntu/ipcad-3.7.3/psrc-file.c:46: undefined reference to `pcap_open_offline'
/home/ubuntu/ipcad-3.7.3/psrc-file.c:55: undefined reference to `pcap_datalink'
psrc-file.o: In function `init_packet_source_file':
/home/ubuntu/ipcad-3.7.3/psrc-file.c:105: undefined reference to `pcap_close'
collect2: ld returned 1 exit status
make: *** [ipcad] Error 1

Оффлайн ziv

  • Автор темы
  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: сборка ipcad
« Ответ #7 : 24 Октябрь 2008, 12:57:27 »
Точно стоят? Потому что в строке компиляции не хватает параметра
-lpcap
который, собственно, и подключает эту библиотеку.

Что говорит ./configure | grep pcap ?
У меня вот:
igor@fileserver:~/ipcad-3.7.3$ ./configure | grep pcap
checking packet source type... pcap
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
checking for pcap_open_live in -lpcap... yes
checking pcap_findalldevs... yes

Оффлайн elec

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: сборка ipcad
« Ответ #8 : 24 Октябрь 2008, 17:45:03 »
не поверишь  =)

root@server2:/home/ubuntu/ipcad-3.7.3# ./configure | grep pcap
checking packet source type... pcap
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
checking for pcap_open_live in -lpcap... yes
checking pcap_findalldevs... yes

Оффлайн elec

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: сборка ipcad
« Ответ #9 : 24 Октябрь 2008, 17:46:09 »
ахтунг! а вот теперь я не верю. собралось!!!!!!!!! спасибо! =)) ниче не понимаю

Оффлайн ziv

  • Автор темы
  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: сборка ipcad
« Ответ #10 : 24 Октябрь 2008, 18:27:03 »
Возможно, ты установил libpcap(-dev), но не сделал configure после этого.

Оффлайн Slayeruga

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: сборка ipcad
« Ответ #11 : 20 Май 2009, 09:49:46 »
Может кто столкнется с такой же проблемой компиляции ipcad на Debian Lenny 5.0.1., то отпишусь как я решил эту проблему.
У меня выдавало:

debian:/home/ipcad-3.7.3# ./configure | grep pcap
checking packet source type... pcap
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
checking for pcap_open_live in -lpcap... no
checking pcap_findalldevs... no

Не помогала установка пакетов libpcap0.8 libpcap0.8-dev, после скачивания исходных текстов libpcap_0.9.8.orig.tar.gz и их установки стало вот так:

debian:/home/ipcad-3.7.3# ./configure | grep pcap
checking packet source type... pcap
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
checking for pcap_open_live in -lpcap... yes
checking pcap_findalldevs... yes

И ipcad собрался из исходников без ошибок.

 

Страница сгенерирована за 0.055 секунд. Запросов: 24.