c3sr / comm_scope

NUMA-aware multi-CPU multi-GPU data transfer benchmarks
https://github.com/c3sr/scope
Apache License 2.0
21 stars 3 forks source link

Unknown CMake command "sugar_include". #32

Closed Yiltan closed 4 years ago

Yiltan commented 4 years ago

Hello C3SR Team,

I am getting the following error when building your project:

CMake Error at CMakeLists.txt:11 (sugar_include):
  Unknown CMake command "sugar_include".

I was wondering if anybody would have any suggestions on what this could be.

cwpearson commented 4 years ago

When you clone scope and enable Comm|Scope, and build for the first time, you should see something like this in the CMake output:

-- [hunter] SUGAR_ROOT: /home/pearson/.hunter/_Base/51d2d6b/9b2c9d4/d68db6d/Install (ver.: 1.3.0)
-- [hunter] Building sugar
loading initial cache file /home/pearson/.hunter/_Base/51d2d6b/9b2c9d4/d68db6d/cache.cmake
loading initial cache file /home/pearson/.hunter/_Base/51d2d6b/9b2c9d4/d68db6d/Build/sugar/args.cmake
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc - works
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - works
-- Detecting CXX compile features
...

If you're re-running cmake after some changes, you should see just something like this:

-- [hunter] Calculating Toolchain-SHA1
-- [hunter] Calculating Config-SHA1
-- [hunter] HUNTER_ROOT: /home/pearson/.hunter
-- [hunter] [ Hunter-ID: 51d2d6b | Toolchain-ID: 9b2c9d4 | Config-ID: d68db6d ]
-- [hunter] SUGAR_ROOT: /home/pearson/.hunter/_Base/51d2d6b/9b2c9d4/d68db6d/Install (ver.: 1.3.0)
...

This is when sugar gets installed, and you should be able to find a sugarConfig.cmake in there if it gets installed correctly (the path may be a bit different on your system), but you can find it in SUGAR_ROOT above

$ ls ~/.hunter/_Base/51d2d6b/9b2c9d4/d68db6d/Install/lib/cmake/sugar
sugarConfig.cmake

Is there any error in the part of the cmake output related to downloading and installing sugar?

Yiltan commented 4 years ago

I don't seem to get the first few lines related to sugar that you do. The complete output is below. I am running the command mkdir build && cd build && cmake .. -DENABLE_COMM=1 before the error arises. I am using the git tag labeled as v0.8.2.

I usually work with GNU Make so cmake is slightly different to me. I appreciate the help.

-- The CXX compiler identification is GNU 8.4.0
-- The CUDA compiler identification is NVIDIA 10.2.89
-- Check for working CXX compiler: /opt/cuda-10.2.89/gcc/8.4.0/bin/g++
-- Check for working CXX compiler: /opt/cuda-10.2.89/gcc/8.4.0/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working CUDA compiler: /opt/base/cuda/10.2.89/bin/nvcc
-- Check for working CUDA compiler: /opt/base/cuda/10.2.89/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
CMake Error at CMakeLists.txt:11 (sugar_include):
  Unknown CMake command "sugar_include".

-- Configuring incomplete, errors occurred!                                           
cwpearson commented 4 years ago

You're starting here: https://github.com/c3sr/scope ? And then mkdir build...?

Yiltan commented 4 years ago

Ah sorry, I was trying to directly build Comm|Scope. I now see that this is a submodule within a larger project. I've built it from Scope and now things work as expected.