Рейтинг:0

Фатальная ошибка: rpc/rpc.h: нет такого файла или каталога

флаг id

Я пытаюсь установить Snort на Ubuntu 21.04 из исходных файлов в соответствии с инструкциями на веб-сайте Snort. Я следил за видео на Youtube и преодолел ряд проблем, но я застрял на:

sp_rpc_check.c:32:10: фатальная ошибка: rpc/rpc.h: нет такого файла или каталога
   32 | #include <rpc/rpc.h>
      | ^~~~~~~~~~~~
компиляция прекращена.
make[4]: *** [Makefile:478: sp_rpc_check.o] Ошибка 1
make[4]: Выход из каталога '/usr/snort-2.9.18/src/detection-plugins'
make[3]: *** [Makefile:428: all] Ошибка 2
make[3]: Выход из каталога '/usr/snort-2.9.18/src/detection-plugins'
make[2]: *** [Makefile:547: полностью рекурсивный] Ошибка 1
make[2]: Выход из каталога '/usr/snort-2.9.18/src'
make[1]: *** [Makefile:505: полностью рекурсивный] Ошибка 1
make[1]: Выход из каталога '/usr/snort-2.9.18'
make: *** [Makefile:370: all] Ошибка 2

Попробовал sudo apt установить libntirpc-dev как в другой теме здесь, на AskUbuntu.

Я относительный новичок. сделано судо подходящее обновление и судо подходящее обновление.

С сайта snort, https://www.snort.org/#get-started, сделали все:

wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz
                      
wget https://www.snort.org/downloads/snort/snort-2.9.18.tar.gz
смола xvzf daq-2.0.7.tar.gz
                      
компакт-диск Daq-2.0.7
./configure && make && sudo make install
смола xvzf snort-2.9.18.tar.gz
                      
cd snort-2.9.18

но при запуске:

./configure --enable-sourcefire && make && sudo make install

получить ошибку, описанную выше

Я также разобрался с проблемами libpcap, libpcre и dnet. Так что теперь это просто проблема rpc. Спасибо

флаг hr
Вы можете найти эти недавние вопросы и ответы полезными: [rpc.h отсутствует? Ubuntu 21.04] (https://askubuntu.com/a/1360094/178692)
N0rbert avatar
флаг zw
Что не так с бинарным пакетом https://packages.ubuntu.com/hirsute/snort?
omboidal avatar
флаг id
Я буду честен, я не могу вспомнить, пробовал ли я это сначала. Но я только что попробовал, и я получаю: 0 для обновления, 0 для новой установки, 0 для удаления и 8 для отказа от обновления. Но; $ фыркнуть Работа в режиме дампа пакетов --== Инициализация Snort ==-- Инициализация плагинов вывода! pcap DAQ сконфигурирован как пассивный. Получение сетевого трафика от "enp6s0". ОШИБКА: Не удается запустить DAQ (-1) - сокет: Операция не разрешена! Фатальная ошибка, выход..
Рейтинг:0
флаг vg

Решение простое. Вам нужно положить недостающие файлы отсюда https://github.com/lattera/glibc/tree/master/sunrpc/rpc к /usr/include/RPC Это не безопасно, но работает xD Смотри сюда

Рейтинг:0
флаг bz

Я сделал настройку snort в дистрибутиве Kali

sp_rpc_check.c:32:10: фатальная ошибка: rpc/rpc.h: нет такого файла или каталога
   32 | #include <rpc/rpc.h>

Устраните проблему следующим образом:

  1. Найдите библиотеку, включающую rpc (поиск apt-файла rpc/rpc.h)
  2. Установка (apt-get установить libntirpc-dev)
  3. Копирование файлов из нтиркп папку в ркп папка
  4. Бег: делать
  5. Изменение пути к файлу не найдено
  6. Повторяйте процесс, пока ошибки не будут устранены

Бывший. 1:

Копирование файлов из ntirpc в rpc

sp_rpc_check.c:32:10: фатальная ошибка: rpc/rpc.h: нет такого файла или каталога
   32 | #include <rpc/rpc.h>
/include/ntirpc# cp rpc.h /usr/include/rpc

/snort_source/snort-2.9.18.1# сделать

Пример 2:

Редактирование типов.h

/usr/include/rpc/types.h:189:10: фатальная ошибка: misc/abstract_atomic.h: нет такого файла или каталога
  189 | #include <misc/abstract_atomic.h>

Измените строку с:

#include <misc/abstract_atomic.h>

к:

#include </usr/include/rpc/misc/abstract_atomic.h>

затем

/snort_source/snort-2.9.18.1# сделать 

и т.д., ...


Я изменил следующие файлы:

wait_queuq.h
clnt.h
об/мин.ч
pool_queue.h
svc.h
портативный.ч
типы.ч

в соответствии с требованиями делать.

Приблизительно: 40 строк кода

omboidal avatar
флаг id
Спасибо. Итак, следуя вашим инструкциям, я исправил проблему с rpc.h и с abstract_atomic.h. то, что я получаю сейчас, это /usr/include/rpc/rpc-sn/rpc/svc.h:50:10: фатальная ошибка: reentrant.h: нет такого файла или каталога 50 | #include "reentrant.h". Файл reentrant.h существует в правильной папке. он упоминается в файле svc.h и т. д. следующим образом: #include "reentrant.h", тогда как большинство других не заключены в кавычки. Я попытался указать путь, удалив кавычки, используя или даже прокомментировать это в Интернете для получения помощи, но ни один из них не решает проблему ... любая помощь приветствуется!
Рейтинг:-1
флаг it

Спросите систему упаковки:

dpkg -S /usr/include/rpc/rpc.h

Это скажет вам, какой пакет предоставляет /usr/include/rpc/rpc.h. Установите этот пакет. Читать мужчина дпкг.

omboidal avatar
флаг id
Итак, я получаю: не найден путь, соответствующий шаблону /usr/include/rpc/rpc.h
omboidal avatar
флаг id
Google предложил: https://github.com/lxi-tools/liblxi/issues/8, где обсуждается, поэтому я попробовал: sudo dpkg -S /usr/include/tirpc/rpc/rpc.h, который вернул: libtirpc-dev:amd64: /usr/include/tirpc/rpc/rpc.h Но: sudo apt-get install libtirpc-dev .... libtirpc-dev уже является самой новой версией (1.3.1-1build1). libtirpc-dev устанавливается вручную. 0 для обновления, 0 для новой установки, 0 для удаления и 7 для отказа от обновления.
флаг hr
@omboidal, если `rpc.h` находится в подкаталоге, вам может потребоваться явно указать путь включения в процесс сборки. Детали будут зависеть от того, как именно это написано, но вы можете попробовать, например, `./configure CFLAGS=-I/usr/include/tirpc`
omboidal avatar
флаг id
@steeldriver, спасибо, я попробовал ваше предложение. Команда выполнена нормально, но конфигурация snort останавливается на том же месте. Любые предложения приветствуются Спасибо
N0rbert avatar
флаг zw
Правильный способ «Спросить систему упаковки» — https://packages.ubuntu.com/search?suite=hirsute&arch=any&mode=exactfilename&searchon=contents&keywords=rpc.h или `sudo apt-get install apt-file; обновление sudo apt-файла; apt-файл поиска rpc/rpc.h` .

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.