SymbioticLab / Leap

Prefetching and efficient data path for memory disaggregation
Other
63 stars 21 forks source link

undefined reference to `rdma_resolve_addr' #2

Open majid0jalili opened 2 years ago

majid0jalili commented 2 years ago

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

leap/built-in.o: In functionIS_bind_client': /home/cc/Leap/leap/leap.c:1245: undefined reference to rdma_resolve_addr' leap/built-in.o: In functionIS_connect_client': /home/cc/Leap/leap/leap.c:1222: undefined reference to rdma_connect' leap/built-in.o: In functionIS_free_buffers': /home/cc/Leap/leap/leap.c:1080: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1082: undefined reference toib_dereg_mr' /home/cc/Leap/leap/leap.c:1084: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1086: undefined reference toib_dereg_mr' leap/built-in.o: In function IS_setup_qp': /home/cc/Leap/leap/leap.c:1149: undefined reference toib_alloc_pd' /home/cc/Leap/leap/leap.c:1162: undefined reference to ib_create_cq' leap/built-in.o: In functionIS_create_qp': /home/cc/Leap/leap/leap.c:1121: undefined reference to rdma_create_qp' leap/built-in.o: In functionIS_setup_qp': /home/cc/Leap/leap/leap.c:1188: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1190: undefined reference toib_dealloc_pd' leap/built-in.o: In function IS_setup_buffers': /home/cc/Leap/leap/leap.c:1047: undefined reference toib_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 toib_dereg_mr' /home/cc/Leap/leap/leap.c:1068: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1070: undefined reference toib_dereg_mr' leap/built-in.o: In function IS_free_qp': /home/cc/Leap/leap/leap.c:1129: undefined reference toib_destroy_qp' /home/cc/Leap/leap/leap.c:1130: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1131: undefined reference toib_dealloc_pd' leap/built-in.o: In function kernel_cb_init': /home/cc/Leap/leap/leap.c:1525: undefined reference tordma_create_id' leap/built-in.o: In function IS_cma_event_handler': /home/cc/Leap/leap/leap.c:593: undefined reference tordma_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`

Panhx0601 commented 2 years ago

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

leap/built-in.o: In functionIS_bind_client': /home/cc/Leap/leap/leap.c:1245: undefined reference to rdma_resolve_addr' leap/built-in.o: In functionIS_connect_client': /home/cc/Leap/leap/leap.c:1222: undefined reference to rdma_connect' leap/built-in.o: In functionIS_free_buffers': /home/cc/Leap/leap/leap.c:1080: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1082: undefined reference toib_dereg_mr' /home/cc/Leap/leap/leap.c:1084: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1086: undefined reference toib_dereg_mr' leap/built-in.o: In function IS_setup_qp': /home/cc/Leap/leap/leap.c:1149: undefined reference toib_alloc_pd' /home/cc/Leap/leap/leap.c:1162: undefined reference to ib_create_cq' leap/built-in.o: In functionIS_create_qp': /home/cc/Leap/leap/leap.c:1121: undefined reference to rdma_create_qp' leap/built-in.o: In functionIS_setup_qp': /home/cc/Leap/leap/leap.c:1188: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1190: undefined reference toib_dealloc_pd' leap/built-in.o: In function IS_setup_buffers': /home/cc/Leap/leap/leap.c:1047: undefined reference toib_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 toib_dereg_mr' /home/cc/Leap/leap/leap.c:1068: undefined reference to ib_dereg_mr' /home/cc/Leap/leap/leap.c:1070: undefined reference toib_dereg_mr' leap/built-in.o: In function IS_free_qp': /home/cc/Leap/leap/leap.c:1129: undefined reference toib_destroy_qp' /home/cc/Leap/leap/leap.c:1130: undefined reference to ib_destroy_cq' /home/cc/Leap/leap/leap.c:1131: undefined reference toib_dealloc_pd' leap/built-in.o: In function kernel_cb_init': /home/cc/Leap/leap/leap.c:1525: undefined reference tordma_create_id' leap/built-in.o: In function IS_cma_event_handler': /home/cc/Leap/leap/leap.c:593: undefined reference tordma_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?

Harry-Chen commented 1 year ago

@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.