Проблема с libbpf: неопределенная ссылка на xsk_umem__create и т. д. - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь собрать nff-go, и для этого требуется libbpf.Но я закончил с ошибкой ниже при запуске test.

/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)'

Я установил libbpf в соответствии с его руководством по github

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

Есть идеи почему?

1 Ответ

0 голосов
/ 30 сентября 2019

Оказывается, ошибка в nff-go.

Забывает добавить -lbpf в сценарий компиляции.

Для него подан выпуск 656.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...