Ошибка при установке Mininet

#linux #mininet

#linux #мининет

Вопрос:

При попытке установить Mininet я получаю следующую ошибку:

 Installing Mininet core
~/mininet ~
cc -DVERSION="PYTHONPATH=. bin/mn --version" mnexec.c -o mnexec
mnexec.c: In function ‘setns’:
mnexec.c:49: error: ‘__NR_setns’ undeclared (first use in this function)
  

Я поискал в Интернете и обнаружил, что могу устранить проблему, указав отсутствующий номер системного вызова соответствующим образом для моего 32- или 64-разрядного ядра.

Как мне определить отсутствующий номер системного вызова для 32-разрядного ядра?

Комментарии:

1. отвечать поздно, но вам следует загрузить последнюю версию mininet и установить ее. вот ссылка, по которой вы можете поделиться своими сомнениями здесь

Ответ №1:

Я не знаю, что Mininet такое, но я полагаю, что ваша проблема может быть связана с отсутствием необходимого файла заголовка. Ошибка:

 mnexec.c: In function ‘setns’: `mnexec.c:49: error: ‘__NR_setns’ undeclared (first use in this function)
  

Указывает, что __NR_setns это не объявлено в том, что вы пытаетесь скомпилировать. Небольшое изучение показывает возможные заголовки, в которых на него ссылаются в Linux. Смотрите перекрестную ссылку на Linux. Краткий список возможностей таков:

 /usr/include/asm/unistd_32.h
/usr/include/asm/unistd_64.h
/usr/include/bits/syscall.h
/usr/include/valgrind/vki/vki-scnums-x86-linux.h
/usr/include/valgrind/vki/vki-scnums-amd64-linux.h
  

Есть и другие, но они выглядят наиболее релевантными.