davechurchill / commandcenter

Starcraft AI Bot
MIT License
522 stars 112 forks source link

CMake Error: The following variables are used in this project, but they are set to NOTFOUND. #57

Closed slimak2 closed 7 years ago

slimak2 commented 7 years ago

Hi, i am instaling commandcenter on linux and i got to the point to do: $ git clone https://github.com/davechurchill/commandcenter.git && cd commandcenter $ cmake .

but it throws me error:

-- The C compiler identification is GNU 5.4.0 -- The CXX compiler identification is GNU 5.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- 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 compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found SC2Api: SC2Api_INCLUDE_DIR-NOTFOUND;SC2Api_Proto_INCLUDE_DIR-NOTFOUND;/usr/include CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/SC2Api_INCLUDE_DIR used as include directory in directory /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src used as include directory in directory /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src used as include directory in directory /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src SC2Api_Proto_INCLUDE_DIR used as include directory in directory /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src used as include directory in directory /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src used as include directory in directory /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src

-- Configuring incomplete, errors occurred! See also "/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/CMakeFiles/CMakeOutput.log".

could you please help me?

alkurbatov commented 7 years ago

Hi, @slimak2 The problem is written in the output: SC2Api_INCLUDE_DIR-NOTFOUND;SC2Api_Proto_INCLUDE_DIR-NOTFOUND

Please carefully follow instructions in the README.

slimak2 commented 7 years ago

I am following, but i dont now how to set the variables SC2Api_INCLUDE_DIR and SC2Api_Proto_INCLUDE_DIR. i dont see anything in README about those variables. Please tell me in witch step i did mistake. I tried to set variables as SC2Api_INCLUDE_DIR="/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src:$SC2Api_INCLUDE_DIR" and as SC2Api_Proto_INCLUDE_DIR="/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src:$SC2Api_Proto_INCLUDE_DIR" but there was no difference.

alkurbatov commented 7 years ago

The variables are set automatically by cmake if it finds required headers in the folders described in readme. Your error means that the api and protobuf headers are not where we expect it to find. Thats why I recommend you recheck the readme and the files copied.

slimak2 commented 7 years ago

Thank you, i see, the problem is that i am installing it on server where i dont have root rights, thats why i moved SC2 API headers and SC2 API libraries in my local folder and i did set CMAKE_LIBRARY_PATH and PATH variables to this location. i was convinced it would work. Can you please give me advice how can i make it work if i dont have root?

alkurbatov commented 7 years ago

There are several ways to fix it.

  1. You can edit our findSC2Api cmake macro https://github.com/davechurchill/commandcenter/blob/master/cmake/FindSC2Api.cmake Search for the 'PATHS' specifications and add there absolute path to your folders.

  2. You can change the build routine itself (it requires more work): drop findSC2Api macro and specify all the paths manually. The example could be seen in my repository: https://github.com/alkurbatov/suvorov-bot

In general we should support such case, for example Boost allows to specify custom path to the libs and headers. Please file additional issue regarding it or reopen this one.

slimak2 commented 7 years ago

this is working! thank you so much!

davechurchill commented 7 years ago

@alkurbatov Thanks for the help :)