breuner / elbencho

A distributed storage benchmark for file systems, object stores & block devices with support for GPUs
GNU General Public License v3.0
169 stars 25 forks source link

Building on RHEL 8? #29

Closed rhugga closed 2 years ago

rhugga commented 2 years ago

The instructions for RHEL 8 don't work. (tried RHEL 8.4 and 8.5)

These packages don't exist: boost-devel libaio-devel numactl-devel

I just spent an hour trying to get boost/boost-devel installed and it is a rat's nest of package dependencies and mess.

Or is their a linux version that this will install cleanly on? Or can you disable boost/numa. We don't need those features. We only need S3.

Update: Also tried building this on ubuntu 22.04:

<SNIP>
In file included from /elbencho/external/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/crypto/openssl/CryptoImpl.h:14,
                 from /elbencho/external/aws-sdk-cpp/aws-cpp-sdk-core/source/utils/crypto/openssl/CryptoImpl.cpp:9,
                 from /elbencho/external/aws-sdk-cpp/aws-cpp-sdk-core/ub_core.cpp:26:
/usr/include/openssl/hmac.h:34:27: note: declared here
   34 | OSSL_DEPRECATEDIN_3_0 int HMAC_CTX_reset(HMAC_CTX *ctx);
      |                           ^~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[3]: *** [aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/build.make:917: aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/ub_core.cpp.o] Error 1
make[3]: Leaving directory '/elbencho/external/aws-sdk-cpp'
make[2]: *** [CMakeFiles/Makefile2:758: aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/all] Error 2
make[2]: Leaving directory '/elbencho/external/aws-sdk-cpp'
make[1]: *** [Makefile:136: all] Error 2
make[1]: Leaving directory '/elbencho/external/aws-sdk-cpp'
make: *** [Makefile:205: externals] Error 1
rhugga commented 2 years ago

Men I don't have time to bike shed this. Gotta benchmark some stuff today and get it done with existing tools.

breuner commented 2 years ago

Hi @rhugga, sorry for the inconveniences. I have no clean RHEL 8.5 to try with right away, but at least on a clean RockyLinux 8.5 (which is supposed to be a clone of RHEL 8.5) the packages that you mentioned seem to be available by default:

[user@node01 /]# cat /etc/redhat-release 
Rocky Linux release 8.5 (Green Obsidian)
[user@node01 /]# sudo yum install boost-devel libaio-devel numactl-devel
Last metadata expiration check: 0:04:50 ago on Mon Mar  7 22:20:09 2022.
Dependencies resolved.
=====================================================================================================================
 Package                           Architecture       Version                            Repository             Size
=====================================================================================================================
Installing:
 boost-devel                       x86_64             1.66.0-10.el8                      appstream              10 M
 libaio-devel                      x86_64             0.3.112-1.el8                      baseos                 18 k
 numactl-devel                     x86_64             2.0.12-13.el8                      baseos                 28 k
[...]

But you actually don't need to go through the hurdles of building at all. You can just use the static executable on any x86_64 Linux distro: elbencho latest static release Or alternatively use one of the docker containers: elbencho on docker hub

Does that work for you?