- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在Centos 6.2中,我使用gcc 4.8.0编译DPDK代码(dpdk-stable-17.05.2),遇到编译错误。编译命令:make install T=x86_64-native-linuxapp-gcc
输出:
== Build lib/librte_eal/linuxapp/eal
CC eal.o
CC eal_hugepage_info.o
CC eal_memory.o
/tmp/ccZMmoL5.s: Assembler messages:
/tmp/ccZMmoL5.s:1189: Error: no such instruction: `vextracti128 $0x1,%ymm0,internal_config+192(%rip)'
/tmp/ccZMmoL5.s:1192: Error: no such instruction: `vextracti128 $0x1,%ymm0,internal_config+248(%rip)'
/tmp/ccZMmoL5.s:1196: Error: no such instruction: `vextracti128 $0x1,%ymm0,internal_config+304(%rip)'
也尝试了 gcc 4.9.0 和 dpdk-17.11,得到了相同的编译错误。有没有人遇到同样的错误,或者有解决方案?
添加了带有详细输出的编译命令:
使 T=x86_64-native-linuxapp-gcc V=1
输出:
== Build lib/librte_eal/linuxapp/eal
gcc -Wp,-MD,./.eal_memory.o.d.tmp -m64 -pthread -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_MACHINE_CPUFLAG_RDRAND -DRTE_MACHINE_CPUFLAG_AVX2 -I/root/dpdk/dpdk-stable-17.05.2/build/include -include /root/dpdk/dpdk-stable-17.05.2/build/include/rte_config.h -I/root/dpdk/dpdk-stable-17.05.2/lib/librte_eal/linuxapp/eal/include -I/root/dpdk/dpdk-stable-17.05.2/lib/librte_eal/common -I/root/dpdk/dpdk-stable-17.05.2/lib/librte_eal/common/include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -O3 -o eal_memory.o -c /root/dpdk/dpdk-stable-17.05.2/lib/librte_eal/linuxapp/eal/eal_memory.c
/tmp/ccUFBnoh.s: Assembler messages:
/tmp/ccUFBnoh.s:1188: Error: no such instruction: `vextracti128 $0x1,%ymm0,internal_config+192(%rip)'
/tmp/ccUFBnoh.s:1191: Error: no such instruction: `vextracti128 $0x1,%ymm0,internal_config+248(%rip)'
/tmp/ccUFBnoh.s:1195: Error: no such instruction: `vextracti128 $0x1,%ymm0,internal_config+304(%rip)'
make[5]: *** [eal_memory.o] Error 1
最佳答案
这是一个 gcc 4.8.0 错误(请参阅 https://github.com/nouiz/Theano/commit/04cb385df37c669b2f449d34d34d9835085cbce9),用于在另一个软件中发现的类似问题。
您可以通过几种不同的方式来解决这个问题。
1) 使用 gcc -mno-avx2
强制使用 no-avx2。 vextracti128 是 avx2 功能,因此编译器不会使用此优化。
或
2) 将你的 gcc 升级到 4.8.5
关于c - gcc编译dpdk报错: no such instruction vextracti128,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522733/
我有一个使用 DPDK 的程序,我正在使用示例中提供的 Makefile 编译它。 如果我将程序编译为 APP(如描述 here ),一切顺利出色地。但是,我的代码是一个更大项目的一部分,为此使用单独
我是英特尔 DPDK 的新手。我打算编写一个 http 网络服务器。 是否可以使用DPDK使用以下逻辑实现? 获取数据包并将其发送到 Worker 逻辑核心。 客户端发送的工作逻辑核心构建“http
我用的是centos 7.3。当我运行 insmod igb_uio.ko 时,我在/var/logs/message 中收到此错误: igb_uio:加载树外模块污染内核。 警告:模块“igb_ui
我已按如下方式配置 NIC 卡:- [root@localhost ethtool]# ../../tools/dpdk-devbind.py -s Network devices using DPD
我尝试使用 ovs-vsctl 将 PCI 接口(interface) (I219-V) 添加到 OVS 桥,但没有成功: root@pc:/home/me# ovs-vsctl add-port b
当我使用 dpdk-devbind.py 绑定(bind) X710 的网络端口时。我得到错误: 错误:0000:20.00.0 的绑定(bind)失败 - 无法绑定(bind)到驱动程序 uio_p
我一直在尝试从 rx 队列接收数据包,修改它们并将它们发送到 tx 队列。目前我被困在数据包修改上。 我的观察和问题: 1) 我发现有函数操纵 mbufs,其中包含 pkt 数据: 添加数据: rte
我有一个四端口 Intel 1G 网卡。我正在使用 DPDK 在一个物理端口上发送数据并在另一个物理端口上接收数据。 我在 DPDK 代码中看到了一些示例,但无法使其工作。如果有人知道如何做到这一点,
我正在尝试使用连接到OVS(openvswitch)和ubuntu 18.04(VMWare工作站)上的DPDK的Iperf3(任何吞吐量测试器应用程序)来测试两个docker容器之间的吞吐量。这样做
我已在 Ubuntu 16.04.2 系统上设置了 DPDK 17.08.01。我已遵循涉及 HugePages 设置的指南。我设置了 2048 个 HugePages(每个 NUMA 核心 1024
我正在运行 DPDK 应用程序,为此我使用脚本分配大页面。分配和启动应用程序很好。但是后来当我停止应用程序并通过删除挂载点并在 numa 系统的 nr_hugepages 下修改来释放大页面时。 稍后
据我所知,DPDK 代码示例对整个应用程序(或给定端口的所有队列)使用单个 rte_mempool。 假设所有 EAL 线程只与它们自己的 RX/TX 队列交互,是否建议每个 lcore/队列有一个内
无法使用来自辅助进程的现有 rte Hash: h = rte_hash_find_existing("some_hash"); if (h) { // this will w
我使用的是 DPDK 1.7,并按照“快速入门指南”和“运行示例应用程序”文档中提到的所有步骤来编译和执行名为“load_balancer”的示例应用程序。 Load_balancer 应用程序包含某
我有一个使用 dpdk 内存池的 Linux 应用程序。我正在尝试分配一个内存池,其中包含 8000000 个 24 字节的对象。当在内存池创建中没有MEMPOOL_F_NO_CACHE_ALIGN
我确实对 DPDK 有一些经验,但目前我正在阅读许多关于 XDP 的博客。我试图比较这两种技术并了解 DPDK 和 XDP 之间的差异。这提出了一些问题。我希望有人可以帮助我解决以下问题: 使用 DP
我在运行基于 dpdk 的应用程序时遇到一些错误。我发现调用dpdk库提供的rte_eth_dev_configure()函数时出现错误。错误代码为-22。但是,我希望应用程序显示更多调试信息,以便我
我将这些数据包保存在 pcap 文件中(在 wireshark 中显示) 我正在使用 DPDK 解析这些数据包,但出于某种原因我无法使用 mbufs。要使用 struct ipv4_hdr 解析它们,
我想绕过 Linux 网络堆栈并将原始数据包转换为我在 userland 中的自定义代码并在那里处理它们。 我知道您可以使用 pf-rings 或 DPDK 等来制作您的自定义驱动程序。但是我不明白为
我有一个基于 DPDK 的网络应用程序,适用于基于 Linux 的系统。我想将它移植到 netmap 以克服我使用基于 Intel 的 NIC 的限制。在我基于 DPDK 的应用程序中,我使用了 DP
我是一名优秀的程序员,十分优秀!