Skip to content

Issue with building DSS on EC2 with AWS-cmake #54

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
BV-developers opened this issue Nov 7, 2024 · 9 comments
Open

Issue with building DSS on EC2 with AWS-cmake #54

BV-developers opened this issue Nov 7, 2024 · 9 comments

Comments

@BV-developers
Copy link

I am trying to setup my system for the DSS with 7.8 centos on an EC2 machine.

On the build_all.sh step, i am encountering a cmake issue. The logs for them are bellow

-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- NKV_SDK_DIR: /root/DSS/dss-ecosystem/../dss-sdk/host_out
CMake Error at CMakeLists.txt:34 (find_package):
  By not providing "FindAWSSDK.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "AWSSDK", but
  CMake did not find one.

  Could not find a package configuration file provided by "AWSSDK" with any
  of the following names:

    AWSSDKConfig.cmake
    awssdk-config.cmake

  Add the installation prefix of "AWSSDK" to CMAKE_PREFIX_PATH or set
  "AWSSDK_DIR" to a directory containing one of the above files.  If "AWSSDK"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!
See also "/root/DSS/dss-ecosystem/dss_client/build/CMakeFiles/CMakeOutput.log".


As per the steps in the build_aws script, this is downloaded and the rpm is installed. This takes place correctly. However, the cmake fails to find this package.

I am unable to move forward from here.

Please guide on the next steps and let me know if you need any additional information.

@benixon
Copy link

benixon commented Dec 18, 2024

Thank you for trying out DSS.
We would like to confirm the steps performed, as we are debugging the issue trying to identify the root cause.

So, the error occurs when running the scripts/build_all.sh

The logs indicate that the $SCRIPT_DIR/build_dss-client.sh step failed to find the install AWS SDK package.
Since the script is configured to exit on failure, we are assuming all the previous steps successfully completed.

Also please specify the steps that were used to confirm that the rpm downloaded by the aws script was installed.

@BV-developers
Copy link
Author

Hi @benixon ,
We following the steps as per the video demo. (https://www.youtube.com/watch?v=fpAFvLhTpqw)

All the previous steps were completed and were successes.

To verify if the rpm was downloaded correctly, we simply executed the command
sudo yum install ./dss-ansible/artifacts/aws-sdk-cpp-*.rpm -y

This yields
image

The artifacts location does have the rpm file.

After this, step, the build_all script was to be executed. This is where the above the issue is taking place.

Let us know if there were erroneous steps done or are we missing anything here

@iso-p
Copy link

iso-p commented Jan 16, 2025

Hi @BV-developers, could you follow the readme instructions to build from clean centos 7.8 ? The demo video is not update-to-date.

Those 2 sections are useful if you are doing non-docker build.
https://github.com/OpenMPDK/DSS?tab=readme-ov-file#operating-system-requirements
https://github.com/OpenMPDK/DSS?tab=readme-ov-file#build-package-dependencies

Let me know if you have any issues.

@BV-developers
Copy link
Author

Hi @iso-p ,
We tried from a fresh setup of centos 7.8

Image

As the demo was not updated, We tried with the steps on the main page as per your directions. Step 1 for build._gcc.sh was missing since the second step for getting the artifact folder itself was not created from the base checkout of DSS repo. We followed it from the demo.

After build_gcc.sh, we followed https://github.com/OpenMPDK/DSS?tab=readme-ov-file#build-package-dependencies
We reached the build_all.sh where we again faced the issue as described earlier.

Steps done are below

Image

If these steps are missing, could you please outline the steps here if anything is missing?

@iso-p
Copy link

iso-p commented Jan 27, 2025

Hi,

  1. Regarding the complete instructions, please refer to the readme as mentioned in the prev. response. We don't have any build_gcc.sh anymore in our instructions. In case anything is unclear, I am pasting the instructions here (which is the same info as our readme).
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
sudo yum install epel-release centos-release-scl-rh -y
sudo yum install bc bison boost-devel cmake cmake3 cppunit-devel CUnit-devel devtoolset-11 dpkg \
  elfutils-libelf-devel flex gcc gcc-c++ git glibc-devel gmp-devel golang jemalloc-devel Judy-devel \
  libaio-devel libcurl-devel libmpc-devel libuuid-devel make man-db meson mpfr-devel ncurses-devel \
  numactl-devel openssl openssl-devel patch pulseaudio-libs-devel python3 python3-devel python3-pip \
  rdma-core-devel redhat-lsb-core rpm-build \
  snappy-devel tbb-devel wget zlib-devel -y
sudo python3 -m pip install pybind11==2.11.1 gcovr==5.0

Build AWS-SDK-CPP: ./scripts/build_aws-sdk.sh
Install the resulting AWS-SDK-CPP RPM: sudo yum install ./dss-ansible/artifacts/aws-sdk-cpp-*.rpm -y
Run the build_all.sh script: ./scripts/build_all.sh
2. If you see the exact error again regarding the rpm of aws-sdk-cpp, that means the aws-sdk-cpp is already installed so nothing is updated. Running a yum remove for that package before the clean build should let you get rid of the error.

@BV-developers
Copy link
Author

hi @iso-p ,
I followed the steps as followed from a fresh start

  1. Clone DSS repo

  2. sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/.repo
    sed -i s/^#.baseurl=http/baseurl=http/g /etc/yum.repos.d/.repo
    sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/
    .repo

  3. Install all packages. (sudo yum items as given up)

  4. ./scripts/build_aws-sdk.sh

This step gives this error:

Image

The artifact directory is not present when building afresh.
The branch that I am working from is "master".

Do let me know if there is a different branch I must work with

@iso-p
Copy link

iso-p commented Mar 5, 2025

Thanks!

  1. Did you try the git clone --recursive option while cloning the DSS source code? If so, the artifact directory should not be missing.
  2. Is this the complete error list you saw? If not, could you give the errors from the very first one encountered. At the same time, I will see if I can reproduce the cmake error here.

edited on 2025/03/13
a note for 2: I cannot reproduce the cmake error here

@BV-developers
Copy link
Author

Hi @iso-p ,

  1. Simply "git-clone"was tried.
  2. This is the only error i see.

@iso-p
Copy link

iso-p commented Mar 13, 2025

Hi @BV-developers, if that directory related error is the only error, could you delete the old DSS repo and try git clone --recursive https://github.com/OpenMPDK/DSS.git instead?

After you clone the repo, follow the same steps here #54 (comment)

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants