错误情况:
book@100ask:~/Desktop/rdma-core$ ./build.sh
-- Could NOT find cython (missing: CYTHON_EXECUTABLE CYTHON_VERSION_STRING)
-- Could NOT find pandoc (missing: PANDOC_EXECUTABLE PANDOC_VERSION_STRING)
-- Could NOT find rst2man (missing: RST2MAN_EXECUTABLE RST2MAN_VERSION_STRING)
-- Checking for modules 'libnl-3.0;libnl-route-3.0'
-- No package 'libnl-3.0' found
-- No package 'libnl-route-3.0' found
CMake Error at /usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:419 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:597 (_pkg_check_modules_internal)
CMakeLists.txt:486 (pkg_check_modules)
-- Configuring incomplete, errors occurred!
See also "/home/book/Desktop/rdma-core/build/CMakeFiles/CMakeOutput.log".
See also "/home/book/Desktop/rdma-core/build/CMakeFiles/CMakeError.log".
这是构建不成功的现象,需要重新进行安装依赖进行构建
在构建 rdma-core
项目时遇到了依赖缺失的问题。
一、安装依赖包
1.1 安装 cython
sudo apt-get install cython
1.2 安装 pandoc
sudo apt-get install pandoc
1.3 安装 `rst2man`
sudo apt-get install python-docutils
1.4 安装 `libnl-3.0` 和 `libnl-route-3.0`
sudo apt-get install libnl-3-dev libnl-route-3-dev
二、确保 CMake 版本
确保你使用的是兼容的 CMake 版本。你可以使用以下命令检查 CMake 版本:
cmake --version
三、重新运行构建
在安装上述依赖项后,清理之前的构建并重新运行构建脚本:
cd ~/Desktop/rdma-core
rm -rf build
mkdir build
cd build
cmake ..
make
构建完成后的目录:
四、检查构建日志
如果仍然遇到问题,请查看 `CMakeOutput.log` 和 `CMakeError.log` 以获取更详细的错误信息。这些日志文件位于 `build/CMakeFiles` 目录中。
五、其他依赖项
根据项目需求,还可能需要安装其他依赖项。以下是一些常见依赖项的安装命令:
sudo apt-get install libibverbs-dev
sudo apt-get install librdmacm-dev
通过上述步骤,可以解决大部分的依赖问题并成功构建 `rdma-core` 项目。