当我尝试安装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位内核定义缺失的系统调用号?
发布于 2014-07-04 13:45:48
我不知道Mininet是什么,但我相信您的问题可能是由于缺少必要的头文件。错误:
mnexec.c: In function ‘setns’: `mnexec.c:49: error: ‘__NR_setns’ undeclared (first use in this function)指示在尝试编译的内容中未声明__NR_setns。稍微挖掘一下,就会发现在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还有其他的,但这些看起来最相关。
https://stackoverflow.com/questions/24567140
复制相似问题