From 6cdbfcbaf222256759fc3c2c799a37a40f06bf4c Mon Sep 17 00:00:00 2001 From: Caio Rocha Date: Fri, 17 Oct 2025 22:29:14 +0000 Subject: [PATCH 1/2] wip --- cmake/FindIBVerbs.cmake | 2 +- src/include/ibverbs_wrapper.hpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cmake/FindIBVerbs.cmake b/cmake/FindIBVerbs.cmake index 498ab9280..cd4a0e9cd 100644 --- a/cmake/FindIBVerbs.cmake +++ b/cmake/FindIBVerbs.cmake @@ -23,7 +23,7 @@ find_path(IBVERBS_INCLUDE_DIRS ${IBVERBS_ROOT_DIR}/include) find_library(IBVERBS_LIBRARIES - NAMES ibverbs + NAMES ibverbs libibverbs.so.1 HINTS ${IBVERBS_LIB_DIR} ${IBVERBS_ROOT_DIR} diff --git a/src/include/ibverbs_wrapper.hpp b/src/include/ibverbs_wrapper.hpp index c5593344b..0ae9267db 100644 --- a/src/include/ibverbs_wrapper.hpp +++ b/src/include/ibverbs_wrapper.hpp @@ -17,7 +17,18 @@ struct IBVerbs { // Static method to initialize the library static void initialize() { initialized = true; - handle = dlopen("libibverbs.so", RTLD_NOW); + + // Try different versions of libibverbs + const char* lib_possible_names[] = { + "libibverbs.so", + "libibverbs.so.1", + }; + for (int i = 0; lib_possible_names[i] != nullptr; i++) { + handle = dlopen(lib_possible_names[i], RTLD_NOW); + if (handle) { + break; + } + } if (!handle) { throw mscclpp::IbError("Failed to load libibverbs: " + std::string(dlerror()), errno); } From eee94bff48078a3b3b75e000fcc115da98e2ec1d Mon Sep 17 00:00:00 2001 From: Caio Rocha Date: Sat, 18 Oct 2025 00:08:26 +0000 Subject: [PATCH 2/2] wip --- CMakeLists.txt | 10 ++++++++++ cmake/FindIBVerbs.cmake | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2677196da..0f01e7420 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -148,6 +148,16 @@ find_package(IBVerbs) find_package(NUMA REQUIRED) find_package(Threads REQUIRED) +set(CMAKE_COLOR_DIAGNOSTICS ON) +function(msg_red text) + string(ASCII 27 ESC) + message("${ESC}[31m${text}${ESC}[0m") +endfunction() + +if(NOT IBVERBS_FOUND) + msg_red("libibverbs not found. Install libibverbs-dev or rdma-core-devel.") +endif() + include(FetchContent) FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz) FetchContent_MakeAvailable(json) diff --git a/cmake/FindIBVerbs.cmake b/cmake/FindIBVerbs.cmake index cd4a0e9cd..498ab9280 100644 --- a/cmake/FindIBVerbs.cmake +++ b/cmake/FindIBVerbs.cmake @@ -23,7 +23,7 @@ find_path(IBVERBS_INCLUDE_DIRS ${IBVERBS_ROOT_DIR}/include) find_library(IBVERBS_LIBRARIES - NAMES ibverbs libibverbs.so.1 + NAMES ibverbs HINTS ${IBVERBS_LIB_DIR} ${IBVERBS_ROOT_DIR}