首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libbpf问题:未定义对`xsk_umem__create‘etc的引用

libbpf问题:未定义对`xsk_umem__create‘etc的引用
EN

Stack Overflow用户
提问于 2019-09-27 19:15:53
回答 1查看 153关注 0票数 0

我正在尝试构建nff-go,它需要libbpf。但是当我运行测试时,我得到了下面的错误。

代码语言:javascript
复制
/tmp/go-build107101737/b063/_x002.o: In function `initXDP':
low.cgo2.c:(.text+0x7a09): undefined reference to `xsk_umem__create'
low.cgo2.c:(.text+0x7a5d): undefined reference to `xsk_socket__create'
low.cgo2.c:(.text+0x7a9e): undefined reference to `bpf_get_link_xdp_id'
/tmp/go-build107101737/b063/_x002.o: In function `removeXDP':
low.cgo2.c:(.text+0x7bb5): undefined reference to `xsk_socket__delete'
low.cgo2.c:(.text+0x7bc2): undefined reference to `xsk_umem__delete'
low.cgo2.c:(.text+0x7bd9): undefined reference to `bpf_get_link_xdp_id'
low.cgo2.c:(.text+0x7c1e): undefined reference to `bpf_set_link_xdp_fd'
/tmp/go-build107101737/b063/_x002.o: In function `sendXDP':
low.cgo2.c:(.text+0x8e22): undefined reference to `xsk_socket(float, double)'

我按照github指南安装了libbpf,方法是

代码语言:javascript
复制
git clone https://github.com/libbpf/libbpf.git
cd src
make

现在libbpf安装在/usr/lib64中,其中包含导出函数:

代码语言:javascript
复制
nm -D libbpf.so | grep xsk_umem
0000000000014570 T xsk_umem__create
00000000000153c0 T xsk_umem__delete
0000000000014550 T xsk_umem__fd

我检查了在ldconfig路径中获取它为

代码语言:javascript
复制
# ldconfig -v | grep libbpf
ldconfig: Path `/lib64' given more than once
ldconfig: Can't stat /libx32: No such file or directory 
ldconfig: Path `/usr/lib' given more than once 
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
    libbpf.so.0 -> libbpf.so.0.0.5

知道为什么吗?

EN

回答 1

Stack Overflow用户

发布于 2019-09-30 10:26:38

结果发现nff-go中有一个bug。

它忘记在编译脚本中添加-lbpf。

656号问题已经提交。

https://github.com/intel-go/nff-go/issues/656

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

https://stackoverflow.com/questions/58133462

复制
相关文章

相似问题

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