Fresh clone wont compile on Ubuntu 16.04, as far as I can tell, python3.5m is being used.
Configure:
Code: Select all
$ cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt
-- 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
-- Failed to get ProjectRevision from git
-- Read ProjectRevision from appversion.default
-- ###########################
-- Compiling Revision #5876
-- ###########################
-- Using builtin Mosquitto library
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.5m.so (found suitable version "3.5.2", minimum required is "3.4")
-- Python3 includes found at: /usr/include/python3.5m
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for 3 include files sys/types.h, ..., linux/i2c.h
-- Looking for 3 include files sys/types.h, ..., linux/i2c.h - found
-- Building with I2C support
-- Looking for include files sys/types.h, linux/spi/spidev.h
-- Looking for include files sys/types.h, linux/spi/spidev.h - found
-- Building with SPI support
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- chrono
-- atomic
-- Linking against boost static libraries
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- ZLIB libraries found at: /usr/lib/x86_64-linux-gnu/libz.so
-- ZLIB includes found at: /usr/include
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.47.0")
-- Curl libraries found at: /usr/lib/x86_64-linux-gnu/libcurl.so
-- Curl includes found at: /usr/include
-- Found LIBUSB: /usr/lib/x86_64-linux-gnu/libusb.so
-- LIBUSB found at: /usr/lib/x86_64-linux-gnu/libusb.so
-- /home/joolz/git/open-zwave-read-only/libopenzwave.a
-- /usr/lib/x86_64-linux-gnu/libudev.so
-- ==== WiringPi include file (wiringPi.h) not found. GPIO support disabled.
-- ==== (Please follow http://wiringpi.com/download-and-install/ if you want to use GPIO.)
-- Sysfs GPIO available
-- Not found telldus-core (telldus-core.h), not adding tellstick support
CMake Warning (dev) at CMakeLists.txt:227 (GET_DIRECTORY_PROPERTY):
Policy CMP0059 is not set: Do no treat DEFINITIONS as a built-in directory
property. Run "cmake --help-policy CMP0059" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
CMakeLists.txt:688 (ADD_PRECOMPILED_HEADER)
This warning is for project developers. Use -Wno-dev to suppress it.
/usr/bin/c++ ;-O3;-DNDEBUG;-I/usr/include/python3.5m;-I/home/joolz/git/domoticz-new/main;-I/usr/include;-I/usr/include;-I/usr/include;-I/usr/include;-I/home/joolz/git/domoticz-new/hardware/openzwave;;-DBUILTIN_MQTT;-DUSE_PYTHON_PLUGINS;-DHAVE_EXECINFO_H;-DHAVE_LINUX_I2C;-DHAVE_LINUX_SPI;-DWITH_LIBUSB;-DWWW_ENABLE_SSL;-DWITH_OPENZWAVE;-DWITH_SYSFS_GPIO -x c++-header -o /home/joolz/git/domoticz-new/stdafx.h.gch/.c++ /home/joolz/git/domoticz-new/main/stdafx.h
-- Using static libgcc/libstdc++
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Configuring done
-- Generating done
-- Build files have been written to: /home/joolz/git/domoticz-new
Code: Select all
[ 80%] Building CXX object CMakeFiles/domoticz.dir/hardware/plugins/PluginManager.cpp.o
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp: In member function ‘void http::server::CWebServer::PluginList(Json::Value&)’:
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:364:26: error: invalid use of incomplete type ‘class Json::Value’
int iPluginCnt = root.size();
^
In file included from /home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:16:0:
/home/joolz/git/domoticz-new/main/../main/WebServer.h:14:8: note: forward declaration of ‘class Json::Value’
class Value;
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:383:12: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
root[iPluginCnt]["idx"] = HTYPE_PythonPlugin;
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:384:44: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "key", root[iPluginCnt]["key"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:384:44: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "key", root[iPluginCnt]["key"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:385:45: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "name", root[iPluginCnt]["name"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:385:45: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "name", root[iPluginCnt]["name"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:386:47: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "author", root[iPluginCnt]["author"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:386:47: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "author", root[iPluginCnt]["author"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:387:49: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "wikilink", root[iPluginCnt]["wikiURL"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:387:49: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "wikilink", root[iPluginCnt]["wikiURL"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:388:53: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "externallink", root[iPluginCnt]["externalURL"]);
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:388:53: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "externallink", root[iPluginCnt]["externalURL"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:400:48: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "field", root[iPluginCnt]["parameters"][iParams]["field"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:400:48: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "field", root[iPluginCnt]["parameters"][iParams]["field"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:401:48: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "label", root[iPluginCnt]["parameters"][iParams]["label"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:401:48: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "label", root[iPluginCnt]["parameters"][iParams]["label"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:402:48: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "width", root[iPluginCnt]["parameters"][iParams]["width"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:402:48: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "width", root[iPluginCnt]["parameters"][iParams]["width"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:403:51: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "required", root[iPluginCnt]["parameters"][iParams]["required"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:403:51: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "required", root[iPluginCnt]["parameters"][iParams]["required"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:404:50: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "default", root[iPluginCnt]["parameters"][iParams]["default"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:404:50: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "default", root[iPluginCnt]["parameters"][iParams]["default"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:417:50: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "label", root[iPluginCnt]["parameters"][iParams]["options"][iOptions]["label"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:417:50: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "label", root[iPluginCnt]["parameters"][iParams]["options"][iOptions]["label"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:418:50: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "value", root[iPluginCnt]["parameters"][iParams]["options"][iOptions]["value"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:34:4: note: in definition of macro ‘ATTRIBUTE_VALUE’
Value = ""; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:418:50: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
ATTRIBUTE_VALUE(pXmlEle, "value", root[iPluginCnt]["parameters"][iParams]["options"][iOptions]["value"]);
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:37:25: note: in definition of macro ‘ATTRIBUTE_VALUE’
if (pAttributeValue) Value = pAttributeValue; \
^
/home/joolz/git/domoticz-new/hardware/plugins/PluginManager.cpp:422:17: error: no match for ‘operator[]’ (operand types are ‘Json::Value’ and ‘int’)
root[iPluginCnt]["parameters"][iParams]["options"][iOptions]["default"] = sDefault;
^
CMakeFiles/domoticz.dir/build.make:3638: recipe for target 'CMakeFiles/domoticz.dir/hardware/plugins/PluginManager.cpp.o' failed
make[2]: *** [CMakeFiles/domoticz.dir/hardware/plugins/PluginManager.cpp.o] Error 1
CMakeFiles/Makefile2:103: recipe for target 'CMakeFiles/domoticz.dir/all' failed
make[1]: *** [CMakeFiles/domoticz.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2