CentOS 6.2에서는 gcc 4.8.0을 사용하여 컴파일 오류가 발생하여 dpdk-stable-17.05.2를 컴파일했습니다. 컴파일 명령을 는 T = x86_64의 네이티브-linuxapp-GCCgcc 컴파일 dpdk 오류 : 명령이 없습니다. vextract128
출력을 설치합니다
== 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의 네이티브-linuxapp-GCC V = 1
출력 : 이것은 GCC 4.8.0 버그
== 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를 업그레이드합니다. 또한,'make T = x86_64-native-linuxapp-gcc' (설치하지 않고)를 실행하여 로컬로 빌드하는지 확인하십시오. –
GCC 4.9조차 실제로 오래되고 유지 보수가되지 않습니다. 현재 GCC는 [GCC 7] (https://gcc.gnu.org/gcc-7/) (2017 년 11 월)이고 GCC 8은 몇 주 후에 사라집니다. 소스 코드에서 컴파일러를 빌드하여 시스템에 적어도 GCC6을 설치하십시오. –