Skip to contentSkip to conversation

Is there a simple way to install rdma-core other than making a package?

DISCUSSION Bob Pearson 4 participants 6 messages Aug 12, 2020 – Aug 14, 2020 InfiniBand

lore
Share & tools
lore
#0 lore raw

There doesn't seem to be a documented way to make install rdma-core, at least in the README file. However trying the obvious

$ bash build.sh
$ cd build
$ sudo make install

seems to work, almost. After a few 100 lines of promising output I get

CMake Error at librdmacm/cmake_install.cmake:76 (file):
file INSTALL cannot find "/home/rpearson/src/rdma-core-git/build/lib/librdmacm.so.1.3.31.0": No such file or directory.

Looking I see

# ls -l build/lib

....

-rwxrwxr-x 1 rpearson rpearson 263384 Aug 10 12:31 libqedr-rdmav25.so
lrwxrwxrwx 1 rpearson rpearson 14 Aug 10 12:31 librdmacm.so -> librdmacm.so.1
lrwxrwxrwx 1 rpearson rpearson 21 Aug 10 12:31 librdmacm.so.1 -> librdmacm.so.1.3.31.0
-rwxrwxr-x 1 rpearson rpearson 138536 Aug 10 12:31 librspreload.so -rwxrwxr-x 1 rpearson rpearson 112488 Aug 10 12:32 librxe-rdmav25.so

....

with no librdmacm.so.1.3.31.0 as advertised. On the other hand if you stop after bash build.sh and before make install you get:

-rwxrwxr-x 1 rpearson rpearson 263384 Aug 10 12:31 libqedr-rdmav25.so
lrwxrwxrwx 1 rpearson rpearson 14 Aug 10 12:31 librdmacm.so -> librdmacm.so.1
lrwxrwxrwx 1 rpearson rpearson 21 Aug 10 12:31 librdmacm.so.1 -> librdmacm.so.1.3.31.0
-rwxrwxr-x 1 rpearson rpearson 608632 Aug 10 12:31 librdmacm.so.1.3.31.0 -rwxrwxr-x 1 rpearson rpearson 138536 Aug 10 12:31 librspreload.so

So the make install seems to be deleting the .so file. Nothing like this is happening to the other libraries.

Any help would be appreciated. I would like to be able to install this version of rdma-core on the system.

Bob Pearson

#1 lore raw
Quoted 5 lines · Bob Pearson

There doesn't seem to be a documented way to make install rdma-core, at least in the README file. However trying the obvious

$ bash build.sh
$ cd build
$ sudo make install

The build.sh script that comes with rdma-core builds libraries in-place and is not suitable for "make install".

Thanks

#2 lore raw
Quoted 12 lines · Leon Romanovsky
Quoted 5 lines · Bob Pearson

There doesn't seem to be a documented way to make install rdma-core, at least in the README file. However trying the obvious

$ bash build.sh
$ cd build
$ sudo make install

The build.sh script that comes with rdma-core builds libraries in-place and is not suitable for "make install".

Thanks

Agreed, but the Makefile in the build directory does respond to make install but a little incorrectly. Maybe it's just a tease to drive old farts like me crazy.

#3 lore raw
In reply to Bob Pearson
Quoted 6 lines · Bob Pearson

There doesn't seem to be a documented way to make install rdma-core, at least in the README file. However trying the obvious

$ bash build.sh
$ cd build
$ sudo make install
Quoted 6 lines

seems to work, almost. After a few 100 lines of promising output I get

CMake Error at librdmacm/cmake_install.cmake:76 (file):
file INSTALL cannot find "/home/rpearson/src/rdma-core-git/build/lib/librdmacm.so.1.3.31.0": No such file or directory.

This is how I do this myself:

export EXTRA_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DENABLE_WERROR=1" &&

    mkdir -p build &&
    cd build &&
    cmake -G Ninja CFLAGS="-O0 -g" -DCMAKE_INSTALL_PREFIX=/usr .. &&
    ninja &&
    ninja install

Bart.

#4 lore raw
Quoted 16 lines · Bart Van Assche
Quoted 6 lines · Bob Pearson

There doesn't seem to be a documented way to make install rdma-core, at least in the README file. However trying the obvious

$ bash build.sh
$ cd build
$ sudo make install
Quoted 6 lines

seems to work, almost. After a few 100 lines of promising output I get

CMake Error at librdmacm/cmake_install.cmake:76 (file):
file INSTALL cannot find "/home/rpearson/src/rdma-core-git/build/lib/librdmacm.so.1.3.31.0": No such file or directory.

This is how I do this myself:

Quoted 9 lines

export EXTRA_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DENABLE_WERROR=1" &&

    mkdir -p build &&
    cd build &&
    cmake -G Ninja CFLAGS="-O0 -g" -DCMAKE_INSTALL_PREFIX=/usr .. &&
    ninja &&
    ninja install

Bart.

Thanks, I'll try it.

maintainer
#5 lore raw
In reply to Bart Van Assche
Quoted 14 lines · Bart Van Assche
Quoted 6 lines · Bob Pearson

There doesn't seem to be a documented way to make install rdma-core, at least in the README file. However trying the obvious

$ bash build.sh
$ cd build
$ sudo make install
Quoted 6 lines

seems to work, almost. After a few 100 lines of promising output I get

CMake Error at librdmacm/cmake_install.cmake:76 (file):
file INSTALL cannot find "/home/rpearson/src/rdma-core-git/build/lib/librdmacm.so.1.3.31.0": No such file or directory.

Quoted 8 lines

This is how I do this myself:

export EXTRA_CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DENABLE_WERROR=1" &&

    mkdir -p build &&
    cd build &&
    cmake -G Ninja CFLAGS="-O0 -g" -DCMAKE_INSTALL_PREFIX=/usr .. &&
    ninja &&
    ninja install

I really discourage using 'make install' - rdma-core is complicated and adds a lot of files to the system. It is very hard to undo 'make install'.

For most things just set LD_LIBRARY_PATH=build/lib and just forget about installing

If you do have to install use the cbuild package builders and install the RPMs. At least that can be undone.

Jason