Leap icon indicating copy to clipboard operation
Leap copied to clipboard

undefined reference to `rdma_resolve_addr'

Open majid0jalili opened this issue 3 years ago • 2 comments

I am trying to install Leap, but facing with the following issue when "make -32"

leap/built-in.o: In function IS_bind_client': /home/cc/Leap/leap/leap.c:1245: undefined reference to rdma_resolve_addr' leap/built-in.o: In function IS_connect_client': /home/cc/Leap/leap/leap.c:1222: undefined reference to rdma_connect' leap/built-in.o: In function IS_free_buffers': /home/cc/Leap/leap/leap.c:1080: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1082: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1084: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1086: undefined reference to ib_dereg_mr' leap/built-in.o: In function IS_setup_qp': /home/cc/Leap/leap/leap.c:1149: undefined reference to ib_alloc_pd' /home/cc/Leap/leap/leap.c:1162: undefined reference to ib_create_cq' leap/built-in.o: In function IS_create_qp': /home/cc/Leap/leap/leap.c:1121: undefined reference to rdma_create_qp' leap/built-in.o: In function IS_setup_qp': /home/cc/Leap/leap/leap.c:1188: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1190: undefined reference to ib_dealloc_pd' leap/built-in.o: In function IS_setup_buffers': /home/cc/Leap/leap/leap.c:1047: undefined reference to ib_get_dma_mr' /home/cc/Leap/leap/leap.c:1064: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1066: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1068: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1070: undefined reference to ib_dereg_mr' leap/built-in.o: In function IS_free_qp': /home/cc/Leap/leap/leap.c:1129: undefined reference to ib_destroy_qp' /home/cc/Leap/leap/leap.c:1130: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1131: undefined reference to ib_dealloc_pd' leap/built-in.o: In function kernel_cb_init': /home/cc/Leap/leap/leap.c:1525: undefined reference to rdma_create_id' leap/built-in.o: In function IS_cma_event_handler': /home/cc/Leap/leap/leap.c:593: undefined reference to rdma_resolve_route'`

I tried three Ubuntus: 14, 16, 20, and corresponding MLNX drivers.

`cc@mm:~/Leap$ ofed_info -s

MLNX_OFED_LINUX-4.1-1.0.2.0:`

`cc@mm:~/Leap$ lspci | egrep -i --color 'network|ethernet'

01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 01:00.2 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 01:00.3 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 03:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]`

`cc@mm:~/Leap$ uname -r

4.4.0`

majid0jalili avatar Dec 20 '21 19:12 majid0jalili

I am trying to install Leap, but facing with the following issue when "make -32"

leap/built-in.o: In function IS_bind_client': /home/cc/Leap/leap/leap.c:1245: undefined reference to rdma_resolve_addr' leap/built-in.o: In function IS_connect_client': /home/cc/Leap/leap/leap.c:1222: undefined reference to rdma_connect' leap/built-in.o: In function IS_free_buffers': /home/cc/Leap/leap/leap.c:1080: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1082: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1084: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1086: undefined reference to ib_dereg_mr' leap/built-in.o: In function IS_setup_qp': /home/cc/Leap/leap/leap.c:1149: undefined reference to ib_alloc_pd' /home/cc/Leap/leap/leap.c:1162: undefined reference to ib_create_cq' leap/built-in.o: In function IS_create_qp': /home/cc/Leap/leap/leap.c:1121: undefined reference to rdma_create_qp' leap/built-in.o: In function IS_setup_qp': /home/cc/Leap/leap/leap.c:1188: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1190: undefined reference to ib_dealloc_pd' leap/built-in.o: In function IS_setup_buffers': /home/cc/Leap/leap/leap.c:1047: undefined reference to ib_get_dma_mr' /home/cc/Leap/leap/leap.c:1064: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1066: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1068: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1070: undefined reference to ib_dereg_mr' leap/built-in.o: In function IS_free_qp': /home/cc/Leap/leap/leap.c:1129: undefined reference to ib_destroy_qp' /home/cc/Leap/leap/leap.c:1130: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1131: undefined reference to ib_dealloc_pd' leap/built-in.o: In function kernel_cb_init': /home/cc/Leap/leap/leap.c:1525: undefined reference to rdma_create_id' leap/built-in.o: In function IS_cma_event_handler': /home/cc/Leap/leap/leap.c:593: undefined reference to rdma_resolve_route'`

I tried three Ubuntus: 14, 16, 20, and corresponding MLNX drivers.

`cc@mm:~/Leap$ ofed_info -s

MLNX_OFED_LINUX-4.1-1.0.2.0:`

`cc@mm:~/Leap$ lspci | egrep -i --color 'network|ethernet'

01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 01:00.2 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 01:00.3 Ethernet controller: Broadcom Corporation NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) 03:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]`

`cc@mm:~/Leap$ uname -r

4.4.0`

May I ask how you solved this problem?

Panhx0601 avatar Apr 28 '22 11:04 Panhx0601

@majid0jalili @Panhx0601 This error is due to that leap/leap.c, which is built into the kernel, uses some symbols from drivers/infiniband/core/verbs.c, which is built as a module, thus the linking problems.

You MUST select Infiniband Support as built-in (y) to solve this problem.

Harry-Chen avatar Jan 03 '23 09:01 Harry-Chen