【发布时间】:2015-07-07 14:19:43
【问题描述】:
我正在尝试在 KVM 下运行的 CentOS 6.4 VM 中测试 DPDK 示例应用程序,但我无法编译 DPDK。
尝试运行时
make install T=x86_64-default-linuxapp-gcc -n
从 DPDK-2.0.0,我得到以下输出:
[...]
make S=lib/librte_eal/linuxapp -f /home/dpdk-1.6.0r2/lib/librte_eal/linuxapp/Makefile -C /home/dpdk-1.6.0r2/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp all
[ -d /home/dpdk-1.6.0r2/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio ] || mkdir -p /home/dpdk-1.6.0r2/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio
echo "== Build lib/librte_eal/linuxapp/igb_uio"
make S=lib/librte_eal/linuxapp/igb_uio -f /home/dpdk-1.6.0r2/lib/librte_eal/linuxapp/igb_uio/Makefile -C /home/dpdk-1.6.0r2/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio all
if [ ! -f igb_uio.c ]; then ln -nfs /home/dpdk-1.6.0r2/lib/librte_eal/linuxapp/igb_uio/igb_uio.c . ; fi
if [ ! -f Makefile ]; then ln -nfs /home/dpdk-1.6.0r2/lib/librte_eal/linuxapp/igb_uio/Makefile . ; fi
make -C /lib/modules/2.6.32-358.el6.x86_64/build M=/home/dpdk-1.6.0r2/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio O=/lib/modules/2.6.32-358.el6.x86_64/build \
CROSS_COMPILE=
make: *** /lib/modules/2.6.32-358.el6.x86_64/build: No such file or directory. Stop.
make[7]: *** [igb_uio.ko] Error 2
make[6]: *** [igb_uio] Error 2
make[5]: *** [linuxapp] Error 2
make[4]: *** [librte_eal] Error 2
make[3]: *** [lib] Error 2
make[2]: *** [all] Error 2
make[1]: *** [x86_64-native-linuxapp-gcc_install] Error 2
make: *** [install] Error 2
我已经安装了这里指定的所有必需的包:
http://dpdk.org/doc/guides/linux_gsg/sys_reqs.html
我在这里看到并尝试了解决方案:
DPDK2-0.0 和 1.6.0 都会出现此问题。
另外,只是为了确保;运行
ls /lib/modules/2.6.32-358.el6.x86_64/build
返回输出:
/lib/modules/2.6.32-358.el6.x86_64/build
所以目录肯定存在..
我已经成功地在同一主机上的 CentOS 6.6 KVM 中编译 DPDK,但这次我不断收到此错误。
遗憾的是,它确实需要 CentOS 6.4。
更新:
在^上方添加详细输出
【问题讨论】:
-
您能否启用详细构建输出以查看什么命令/等。在那一点上实际上失败了?
-
谢谢,我已经编辑了帖子以添加一些详细的输出。 (之前没有关于 igb_uio 的任何内容,所以我省略了)
-
哦,是的,它肯定失败了,因为当我尝试使用安装脚本插入 igb_uio 模块时,我收到以下消息:“## 错误:目标没有 DPDK UIO 内核模块。要修复,请尝试重建目标。”