BradyBrenot / huestacean

Philips Hue control app for desktop with screen syncing. C++ with Qt Quick GUI.
http://huestacean.com
Apache License 2.0
564 stars 54 forks source link

Unable to build on Debian buster/sid #121

Closed noah-daily closed 5 years ago

noah-daily commented 5 years ago

Hello,

I am receiving the following error message when attempting to do make huestacean on my Debian 'buster' system.

[ 83%] Building CXX object CMakeFiles/huestacean.dir/src/backend/backend.cpp.o
In file included from /home/noah/huestacean/include/common/lightupdate.h:3,
                 from /home/noah/huestacean/include/backend/deviceprovider.h:2,
                 from /home/noah/huestacean/include/backend/backend.h:11,
                 from /home/noah/huestacean/src/backend/backend.cpp:1:
/home/noah/huestacean/include/common/math.h: In function ‘constexpr Math::angle Math::operator""_deg(long long unsigned int)’:
/home/noah/huestacean/include/common/math.h:66:15: error: expected primary-expression before ‘(’ token
   return angle(long double(a) * PI / 180.0);
               ^
/home/noah/huestacean/include/common/math.h:66:16: error: expected primary-expression before ‘long’
   return angle(long double(a) * PI / 180.0);
                ^~~~
In file included from /home/noah/huestacean/src/backend/backend.cpp:1:
/home/noah/huestacean/include/backend/backend.h: At global scope:
/home/noah/huestacean/include/backend/backend.h:63:8: error: ‘scoped_lock’ in namespace ‘std’ does not name a template type
   std::scoped_lock<std::shared_mutex> lock;
        ^~~~~~~~~~~
/home/noah/huestacean/include/backend/backend.h:63:3: note: ‘std::scoped_lock’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/noah/huestacean/include/backend/backend.h:12:1:
+#include <mutex>
 #include "common/scene.h"
/home/noah/huestacean/include/backend/backend.h:63:3:
   std::scoped_lock<std::shared_mutex> lock;
   ^~~
/home/noah/huestacean/include/backend/backend.h: In constructor ‘Backend::BackendWriter::BackendWriter(Backend*)’:
/home/noah/huestacean/include/backend/backend.h:36:62: error: class ‘Backend::BackendWriter’ does not have any field named ‘lock’
   explicit BackendWriter(Backend* inBackend) : b(inBackend), lock(inBackend->scenesMutex)
                                                              ^~~~
/home/noah/huestacean/src/backend/backend.cpp: In lambda function:
/home/noah/huestacean/src/backend/backend.cpp:69:11: error: ‘scoped_lock’ is not a member of ‘std’
      std::scoped_lock lock(scenesMutex);
           ^~~~~~~~~~~
/home/noah/huestacean/src/backend/backend.cpp:69:11: note: ‘std::scoped_lock’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
/home/noah/huestacean/src/backend/backend.cpp:9:1:
+#include <mutex>

/home/noah/huestacean/src/backend/backend.cpp:69:11:
      std::scoped_lock lock(scenesMutex);
           ^~~~~~~~~~~
/home/noah/huestacean/src/backend/backend.cpp: In member function ‘const std::vector<Scene> Backend::GetScenes()’:
/home/noah/huestacean/src/backend/backend.cpp:202:7: error: ‘scoped_lock’ is not a member of ‘std’
  std::scoped_lock lock(scenesMutex);
       ^~~~~~~~~~~
/home/noah/huestacean/src/backend/backend.cpp:202:7: note: ‘std::scoped_lock’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
make[3]: *** [CMakeFiles/huestacean.dir/build.make:102: CMakeFiles/huestacean.dir/src/backend/backend.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:116: CMakeFiles/huestacean.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:128: CMakeFiles/huestacean.dir/rule] Error 2
make: *** [Makefile:188: huestacean] Error 2

Any help is appreciated.

BradyBrenot commented 5 years ago

Please try the v2.6 tag, master is in a state right now.

noah-daily commented 5 years ago

git clone -b v2.6 --depth 1 --recursive https://github.com/BradyBrenot/huestacean worked! Thank you very much for the extremely fast response.

BradyBrenot commented 5 years ago

Rolling all Android TV / Fire TV issues into #126