To reproduce: 1. Build stable rdma-core 30.0-r2 2. Build perftest 4.4.0.37 3. Update rdma-core to 33.0-r1 4. Run ib_read_bw ib_read_bw: /usr/lib64/libibverbs.so.1: version `IBVERBS_PRIVATE_25' not found (required by ib_read_bw) Rebuilding perftest fixes the problem. Checking linkage before/after: --- /tmp/ib_read_bw-broken 2021-03-04 23:55:19.235878787 -0000 +++ /tmp/ib_read_bw-fixed 2021-03-04 23:59:44.773001074 -0000 @@ -13,6 +13,7 @@ U __sprintf_chk@@GLIBC_2.3.4 U __stack_chk_fail@@GLIBC_2.4 U __strcpy_chk@@GLIBC_2.3.4 + U _ibv_query_gid_ex@@IBVERBS_1.11 U accept@@GLIBC_2.2.5 U access@@GLIBC_2.2.5 U alarm@@GLIBC_2.2.5 @@ -59,7 +60,6 @@ U ibv_qp_to_qp_ex@@IBVERBS_1.6 U ibv_query_device@@IBVERBS_1.1 U ibv_query_gid@@IBVERBS_1.1 - U ibv_query_gid_type@@IBVERBS_PRIVATE_25 U ibv_query_port@@IBVERBS_1.1 U ibv_query_qp@@IBVERBS_1.1 U ibv_reg_mr@@IBVERBS_1.1 This is caused by: 1. An API change introduced in rdma-core 32.0 which perftest checks for at build time 2. perftest including a hack to link against a legacy/private symbol from libibverbs when the new API is not found After updating rdma-core from a <32.0 version to >=32.0 this results in broken perftest tools. Rather than delving into fixing what should be a runtime check in perftools, I recommend just changing perftest:0 to depend on rdma-core 32.0 or newer. Reproducible: Always
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fedc8c47f465f04824fc681fd13b1ad1f4067e32 commit fedc8c47f465f04824fc681fd13b1ad1f4067e32 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-10-12 22:34:20 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-10-12 22:34:37 +0000 sys-fabric/perftest: depend on >=sys-cluster/rdma-core-32.0 Tries to use private symbols. Closes: https://bugs.gentoo.org/774246 Signed-off-by: Sam James <sam@gentoo.org> .../perftest/{perftest-4.4.0.37.ebuild => perftest-4.4.0.37-r1.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)