Skip to content

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

Open

Description

@BV-developers

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.

Activity

  1. benixon commented on Dec 18, 2024

    @benixon

    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.

  2. BV-developers commented on Dec 23, 2024

    @BV-developers
    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

  3. iso-p commented on Jan 16, 2025

    @iso-p

    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.

  4. BV-developers commented on Jan 27, 2025

    @BV-developers
    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?

  5. iso-p commented on Jan 27, 2025

    @iso-p

    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.

  6. BV-developers commented on Feb 26, 2025

    @BV-developers
    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

  7. iso-p commented on Mar 5, 2025

    @iso-p

    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

  8. BV-developers commented on Mar 13, 2025

    @BV-developers
    Author

    Hi @iso-p ,

    1. Simply "git-clone"was tried.
    2. This is the only error i see.
  9. iso-p commented on Mar 13, 2025

    @iso-p

    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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions