#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
Есть и другие, но они выглядят наиболее релевантными.