我正在尝试构建nff-go,它需要libbpf。但是当我运行测试时,我得到了下面的错误。
/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,方法是
git clone https://github.com/libbpf/libbpf.git
cd src
make现在libbpf安装在/usr/lib64中,其中包含导出函数:
nm -D libbpf.so | grep xsk_umem
0000000000014570 T xsk_umem__create
00000000000153c0 T xsk_umem__delete
0000000000014550 T xsk_umem__fd我检查了在ldconfig路径中获取它为
# 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知道为什么吗?
发布于 2019-09-30 10:26:38
https://stackoverflow.com/questions/58133462
复制相似问题