dpdk编译错 error: RTE_MAX_LCORE undeclared here (not in a function) 解决方法

本文阅读 1 分钟

将windows文件上传到svn服务器后,在linux下编译dpdk遇到问题:

make[1]: execvp:  dpdk-1.7/scripts/relpath.sh: Permission denied make[1]: execvp:  dpdk-1.7/scripts/relpath.sh: Permission denied /bin/sh: line 1:  dpdk-1.7/scripts/gen-build-mk.sh: Permission denied make[1]: [ dpdk-1.7/build/Makefile] Error 126 make: [config] Error 2 /bin/sh: line 1:  dpdk-1.7/scripts/depdirs-rule.sh: Permission denied make[7]: [depdirs] Error 126 make[6]: [depdirs] Error 2 make[5]: * [depdirs] Error 2 /bin/sh: line 1:  dpdk-1.7/scripts/depdirs-rule.sh: Permission denied

然后我将dpdk目录添加权限

chmod -R +777 ./dpdk1-1.7

再次编译后,错误如下

In file included from  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:61:  dpdk-1.7/build/include/rte_eal.h:76: error: RTE_MAX_LCORE undeclared here (not in a function) In file included from  dpdk-1.7/build/include/rte_rwlock.h:54,                  from  dpdk-1.7/build/include/rte_eal_memconfig.h:41,                  from  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:62:  dpdk-1.7/build/include/rte_atomic.h:54:5: error: "RTE_MAX_LCORE" is not defined In file included from  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:62:  dpdk-1.7/build/include/rte_eal_memconfig.h:82: error: RTE_MAX_MEMSEG undeclared here (not in a function)  dpdk-1.7/build/include/rte_eal_memconfig.h:83: error: RTE_MAX_MEMZONE undeclared here (not in a function)  dpdk-1.7/build/include/rte_eal_memconfig.h:88: error: RTE_MAX_TAILQ undeclared here (not in a function)  dpdk-1.7/build/include/rte_eal_memconfig.h:91: error: RTE_MAX_NUMA_NODES undeclared here (not in a function)  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c: In function eal_parse_sysfs_value  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:177: error: RTE_LOG_LEVEL undeclared (first use in this function)  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:177: error: (Each undeclared identifier is reported only once  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:177: error: for each function it appears in.)  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c: In function eal_proc_type_detect  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:285: error: RTE_LOG_LEVEL undeclared (first use in this function)  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c: In function eal_parse_coremask  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:447: error: RTE_LOG_LEVEL undeclared (first use in this function)  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c: In function eal_parse_socket_mem  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:520: error: RTE_LOG_LEVEL undeclared (first use in this function) cc1: warnings being treated as errors                                                                                                               dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c: In function eal_parse_args  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:721: error: RTE_LOG_LEVEL undeclared (first use in this function)  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c: In function eal_check_mem_on_local_socket  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:963: error: RTE_LOG_LEVEL undeclared (first use in this function)  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c: In function 鈥榬te_eal_init  dpdk-1.7/lib/librte_eal/linuxapp/eal/eal.c:1037: error: RTE_LOG_LEVEL undeclared (first use in this function) make[5]: [eal.o] Error 1 make[4]: [eal] Error 2 make[3]: [linuxapp] Error 2 make[2]: [librte_eal] Error 2 make[1]: [lib] Error 2 make: [all] Error 2

 

解决办法

1.删除dpdk目录中build子目录,然后重新编译即可

2.遇到这个问题,需要使用svn将文件可执行权限添加,否则svn目录再次下载后依然遇到这个问题

执行如下命令

svn propset svn:executable on dpdk-1.7/

发现不让直接添加目录权限

于是我进入出现问题的脚本目录,

cd scripts/ svn propset svn:executable on * 然后执行如下命令,发现文件权限已被更改 svn diff

接下来再次提交回svn服务器即可  svn ci -m "fix svn:executable for dpdk1.7" dpdk-1.7/

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/mooyuan/article/details/88683816
-- 展开阅读全文 --
Web安全—逻辑越权漏洞(BAC)
« 上一篇 03-13
Redis底层数据结构--简单动态字符串
下一篇 » 04-10

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复