akumuli/Akumuli

CMakeLists use C++11, but std::shared_lock and std::shared_mutex are only available in C++14 and C++17, respectively

barracuda156 opened this issue · 0 comments

Apparently C++17 should be used to build Akumuli. Look at these errors:

In file included from /opt/local/include/log4cxx/log4cxx.h:60,
                 from /opt/local/include/log4cxx/logstring.h:28,
                 from /opt/local/include/log4cxx/spi/appenderattachable.h:26,
                 from /opt/local/include/log4cxx/helpers/appenderattachableimpl.h:27,
                 from /opt/local/include/log4cxx/logger.h:30,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/unittests/../akumulid/logger.h:21,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/unittests/../akumulid/storage_api.h:26,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/unittests/test_protocolparser.cpp:9:
/opt/local/include/log4cxx/boost-std-configuration.h:10:18: error: 'shared_mutex' in namespace 'std' does not name a type
   10 |     typedef std::shared_mutex shared_mutex;
      |                  ^~~~~~~~~~~~
/opt/local/include/log4cxx/boost-std-configuration.h:10:13: note: 'std::shared_mutex' is only available from C++17 onwards
   10 |     typedef std::shared_mutex shared_mutex;
      |             ^~~
/opt/local/include/log4cxx/boost-std-configuration.h:12:30: error: 'shared_lock' in namespace 'std' does not name a template type
   12 |     using shared_lock = std::shared_lock<T>;
      |                              ^~~~~~~~~~~
/opt/local/include/log4cxx/boost-std-configuration.h:12:25: note: 'std::shared_lock' is only available from C++14 onwards
   12 |     using shared_lock = std::shared_lock<T>;
      |                         ^~~
/opt/local/include/log4cxx/logger.h:1729:25: error: 'shared_mutex' does not name a type
 1729 |                 mutable shared_mutex mutex;
      |                         ^~~~~~~~~~~~
In file included from /opt/local/include/log4cxx/log4cxx.h:60,
                 from /opt/local/include/log4cxx/logstring.h:28,
                 from /opt/local/include/log4cxx/spi/appenderattachable.h:26,
                 from /opt/local/include/log4cxx/helpers/appenderattachableimpl.h:27,
                 from /opt/local/include/log4cxx/logger.h:30,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/akumulid/logger.h:21,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/akumulid/protocolparser.h:26,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/akumulid/protocolparser.cpp:1:
/opt/local/include/log4cxx/boost-std-configuration.h:10:18: error: 'shared_mutex' in namespace 'std' does not name a type
   10 |     typedef std::shared_mutex shared_mutex;
      |                  ^~~~~~~~~~~~
/opt/local/include/log4cxx/boost-std-configuration.h:10:13: note: 'std::shared_mutex' is only available from C++17 onwards
   10 |     typedef std::shared_mutex shared_mutex;
      |             ^~~
/opt/local/include/log4cxx/boost-std-configuration.h:12:30: error: 'shared_lock' in namespace 'std' does not name a template type
   12 |     using shared_lock = std::shared_lock<T>;
      |                              ^~~~~~~~~~~
/opt/local/include/log4cxx/boost-std-configuration.h:12:25: note: 'std::shared_lock' is only available from C++14 onwards
   12 |     using shared_lock = std::shared_lock<T>;
      |                         ^~~
/opt/local/include/log4cxx/logger.h:1729:25: error: 'shared_mutex' does not name a type
 1729 |                 mutable shared_mutex mutex;
      |                         ^~~~~~~~~~~~
In file included from /opt/local/include/log4cxx/log4cxx.h:60,
                 from /opt/local/include/log4cxx/logstring.h:28,
                 from /opt/local/include/log4cxx/spi/appenderattachable.h:26,
                 from /opt/local/include/log4cxx/helpers/appenderattachableimpl.h:27,
                 from /opt/local/include/log4cxx/logger.h:30,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/unittests/../akumulid/logger.h:21,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/unittests/../akumulid/httpserver.h:26,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/unittests/../akumulid/query_results_pooler.h:2,
                 from /opt/local/var/macports/build/_opt_PPCRosettaPorts_databases_Akumuli/Akumuli/work/Akumuli-0.8.80/unittests/test_querycursor.cpp:11:
/opt/local/include/log4cxx/boost-std-configuration.h:10:18: error: 'shared_mutex' in namespace 'std' does not name a type
   10 |     typedef std::shared_mutex shared_mutex;
      |                  ^~~~~~~~~~~~
/opt/local/include/log4cxx/boost-std-configuration.h:10:13: note: 'std::shared_mutex' is only available from C++17 onwards
   10 |     typedef std::shared_mutex shared_mutex;
      |             ^~~
/opt/local/include/log4cxx/boost-std-configuration.h:12:30: error: 'shared_lock' in namespace 'std' does not name a template type
   12 |     using shared_lock = std::shared_lock<T>;
      |                              ^~~~~~~~~~~
/opt/local/include/log4cxx/boost-std-configuration.h:12:25: note: 'std::shared_lock' is only available from C++14 onwards
   12 |     using shared_lock = std::shared_lock<T>;
      |                         ^~~
/opt/local/include/log4cxx/logger.h:1729:25: error: 'shared_mutex' does not name a type
 1729 |                 mutable shared_mutex mutex;
      |                         ^~~~~~~~~~~~