首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于缺少librte_pmd_bond.so,testpmd无法运行

由于缺少librte_pmd_bond.so,testpmd无法运行
EN

Stack Overflow用户
提问于 2021-01-25 19:56:14
回答 1查看 204关注 0票数 0

我已经在Centos 7上使用x86_64-native-linuxapp-gcc和选项构建并安装了DPDK v.18.11.9:

代码语言:javascript
复制
CONFIG_RTE_BUILD_SHARED_LIB=y

我们想要运行testpmd,但它无法加载:

代码语言:javascript
复制
$ ./x86_64-native-linuxapp-gcc/app/testpmd

./x86_64-native-linuxapp-gcc/app/testpmd: error while loading shared
libraries: librte_pmd_bond.so.2.1: cannot open shared object file: No such file or directory

这是预期的,因为lib/不包含librte_pmd_bond.so。

我应该使用什么构建选项来构建这个库?

向大卫致以最美好的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-26 01:23:24

当忘记指向应用程序本身的库路径时,这是一个常见的错误。当使用共享模式构建DPDK库时,必须通过LD_LIBRARY_PATH指定dpdk共享对象的路径。如果不能做到这一点,我们就会得到

代码语言:javascript
复制
# ldd app/testpmd
        linux-vdso.so.1 (0x00007fff3eeb2000)
        librte_pmd_bond.so.2.1 => not found
        librte_pmd_dpaa.so.1.1 => not found
        librte_pmd_ixgbe.so.2.1 => not found
        librte_pmd_i40e.so.2.1 => not found
        librte_pmd_bnxt.so.2.1 => not found
        librte_pmd_softnic.so.1.1 => not found
        librte_pdump.so.2.1 => not found
        librte_metrics.so.1.1 => not found
        librte_bitratestats.so.2.1 => not found
        librte_latencystats.so.1.1 => not found
        librte_bpf.so.1.1 => not found
        librte_gro.so.1.1 => not found
        librte_gso.so.1.1 => not found
        librte_mbuf.so.4.1 => not found
        librte_net.so.1.1 => not found
        librte_ethdev.so.11.1 => not found
        librte_mempool.so.5.1 => not found
        librte_ring.so.2.1 => not found
        librte_eal.so.9.1 => not found
        librte_cmdline.so.2.1 => not found
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1474089000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1473c98000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f14745cf000)

从而运行我们得到的应用程序

代码语言:javascript
复制
 # ./app/testpmd
./app/testpmd: error while loading shared libraries: librte_pmd_bond.so.2.1: cannot open shared object file: No such file or directory

如上所述,要修复错误,请使用

代码语言:javascript
复制
export LD_LIBRARY_PATH=[path to dpdk shared libraries]

这解决了依赖关系和应用程序运行的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65884274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档