openvcash / vcash

A decentralized currency for the internet.
https://vcash.info
GNU Affero General Public License v3.0
36 stars 35 forks source link

Incompatible with Boost >= v1.66.0 #38

Open sum01 opened 6 years ago

sum01 commented 6 years ago

Please fill in all relevant items:

Vcash version/branch+revision:

21613735518abf15c5e094ed784521fcda325f18

Operating system and version:

Arch-Linux 4.14.13-1-ARCH

Expected behavior:

Cmake builds without issue.

Actual behavior:

Many errors are printed while trying to build libdatabase, then it stops.

Steps to reproduce the behavior:

Try to build with Cmake, using the cmake-test branch, on an up-to-date Arch-Linux system.

Relevant log file output:
-- The C compiler identification is GNU 7.2.1
-- The CXX compiler identification is GNU 7.2.1
-- 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
-- Starting Cmake build of Vcash v0.6.0.4
-- Defaulting to Release build type since nothing was specified.
-- Boost version: 1.66.0
-- Found the following Boost libraries:
--   system
-- Found OpenSSL: /usr/lib/libcrypto.so.1.0.0 (found suitable version "1.0.2n", minimum required is "1.0.1")
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.0.0")
-- Found the following Berkeley DB libraries:
--   libdb.so
--   libdb_cxx.so
--   libdb_stl.so
CMake Warning at cmake/modules/vcash_dependencies.cmake:37 (message):
  Pre-existing wallet data is not backwards compatible with version v5 of
  Berkeley DB if it was originally built with v6.  Read
  https://github.com/openvcash/vcash/wiki/Compile-With-Cmake#preamble--warning
  for more info.
Call Stack (most recent call first):
  CMakeLists.txt:54 (include)

-- Non-Windows OS detected, defaulting to using pthreads...
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- The vcashrpc script will be installed.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/build
Scanning dependencies of target database
[  1%] Building CXX object database/CMakeFiles/database.dir/src/compression.cpp.o
[  2%] Building CXX object database/CMakeFiles/database.dir/src/broadcast_operation.cpp.o
[  3%] Building CXX object database/CMakeFiles/database.dir/src/block.cpp.o
[  3%] Building CXX object database/CMakeFiles/database.dir/src/ecdhe.cpp.o
[  4%] Building CXX object database/CMakeFiles/database.dir/src/find_operation.cpp.o
[  4%] Building CXX object database/CMakeFiles/database.dir/src/hc256.cpp.o
[  6%] Building CXX object database/CMakeFiles/database.dir/src/entry.cpp.o
[  6%] Building CXX object database/CMakeFiles/database.dir/src/key_pool.cpp.o
[  7%] Building CXX object database/CMakeFiles/database.dir/src/message.cpp.o
[  8%] Building CXX object database/CMakeFiles/database.dir/src/node.cpp.o
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp:22:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/key_pool.hpp:115:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/key_pool.hpp:115:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/key_pool.hpp:31,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp:22:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp: In constructor ‘database::key_pool::key_pool(boost::asio::io_service&)’:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp:29:7: error: class ‘database::key_pool’ does not have any field named ‘strand_’
     , strand_(ios)
       ^~~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp: In member function ‘void database::key_pool::start()’:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp:42:9: error: ‘strand_’ was not declared in this scope
         strand_.wrap(std::bind(&key_pool::cleanup_tick, this,
         ^~~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp:42:9: note: suggested alternative: ‘srand’
         strand_.wrap(std::bind(&key_pool::cleanup_tick, this,
         ^~~~~~~
         srand
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/find_operation.cpp:22:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:144:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:144:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/find_operation.cpp:22:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp: In member function ‘void database::key_pool::cleanup_tick(const boost::system::error_code&)’:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp:133:13: error: ‘strand_’ was not declared in this scope
             strand_.wrap(std::bind(&key_pool::cleanup_tick, this,
             ^~~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/key_pool.cpp:133:13: note: suggested alternative: ‘srand’
             strand_.wrap(std::bind(&key_pool::cleanup_tick, this,
             ^~~~~~~
             srand
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp:22:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:144:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:144:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp:22:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/find_operation.cpp:29:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/slot.hpp:266:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/slot.hpp:266:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/find_operation.cpp:22:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/routing_table.hpp:34:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp:26:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/slot.hpp:266:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/slot.hpp:266:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp:22:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp:26:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/routing_table.hpp:251:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/routing_table.hpp:251:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp:22:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp: In constructor ‘database::block::block(boost::asio::io_service&, std::shared_ptr<database::node_impl>, const uint16_t&)’:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/block.cpp:37:7: error: class ‘database::block’ does not have any field named ‘strand_’
     , strand_(ios)
       ^~~~~~~
[  8%] Building CXX object database/CMakeFiles/database.dir/src/node_impl.cpp.o
make[2]: *** [database/CMakeFiles/database.dir/build.make:231: database/CMakeFiles/database.dir/src/key_pool.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [database/CMakeFiles/database.dir/build.make:183: database/CMakeFiles/database.dir/src/find_operation.cpp.o] Error 1
make[2]: *** [database/CMakeFiles/database.dir/build.make:63: database/CMakeFiles/database.dir/src/block.cpp.o] Error 1
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp:26:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/entry.hpp:168:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/entry.hpp:168:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/entry.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp:26:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp:29:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/storage.hpp:107:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/storage.hpp:107:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/entry.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp:26:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp: In constructor ‘database::entry::entry(boost::asio::io_service&, const std::shared_ptr<database::storage>&, const string&)’:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp:43:7: error: class ‘database::entry’ does not have any field named ‘strand_’
     , strand_(ios)
       ^~~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp: In member function ‘void database::entry::start()’:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp:86:9: error: ‘strand_’ was not declared in this scope
         strand_.wrap(std::bind(&entry::expire_tick, shared_from_this(),
         ^~~~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/entry.cpp:86:9: note: suggested alternative: ‘srand’
         strand_.wrap(std::bind(&entry::expire_tick, shared_from_this(),
         ^~~~~~~
         srand
make[2]: *** [database/CMakeFiles/database.dir/build.make:159: database/CMakeFiles/database.dir/src/entry.cpp.o] Error 1
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:144:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:144:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:28:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/entry.hpp:168:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/entry.hpp:168:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:30:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/key_pool.hpp:115:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/key_pool.hpp:115:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:36:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/operation_queue.hpp:109:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/operation_queue.hpp:109:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/routing_table.hpp:34:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:40:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/slot.hpp:266:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/slot.hpp:266:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:40:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/routing_table.hpp:251:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/routing_table.hpp:251:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:42:0:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/storage.hpp:107:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/storage.hpp:107:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/udp_handler.hpp:32:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:44:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/handler.hpp:123:13: error: invalid use of template-name ‘boost::asio::strand’ without an argument list
             boost::asio::strand strand_;
             ^~~~~
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/handler.hpp:123:13: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/boost/asio.hpp:123:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/block.hpp:30,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:24:
/usr/include/boost/asio/strand.hpp:29:7: note: ‘template<class Executor> class boost::asio::strand’ declared here
 class strand
       ^~~~~~
In file included from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/udp_handler.hpp:32:0,
                 from /home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/src/node_impl.cpp:44:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/handler.hpp: In constructor ‘database::handler::handler(boost::asio::io_service&, const std::shared_ptr<database::node_impl>&, const std::shared_ptr<database::udp_multiplexor>&)’:
/home/sum01/dev/aur-packages/vcash-cmake-test-git/src/vcash/database/include/database/handler.hpp:54:15: error: class ‘database::handler’ does not have any field named ‘strand_’
             , strand_(ios)
               ^~~~~~~
make[2]: *** [database/CMakeFiles/database.dir/build.make:303: database/CMakeFiles/database.dir/src/node_impl.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:124: database/CMakeFiles/database.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
==> ERROR:(B A failure occurred in build().(B
    Aborting...(B

I'll try to look into this myself, but no guarentees 😟

sum01 commented 6 years ago

So it seems that boost::asio::strand was depreciated a while ago. It recommended using boost::asio::io_service::strand for backwards-compatibility, although both seem to have been removed in v1.66.0.

Now it seems that boost::asio::io_context::strand is the current version of the lib in v1.66.0. No idea if there's any breaking changes since it got moved around, so I'm unsure if it's safe to check boost versions and do drop-in replacements or not.

sum01 commented 6 years ago

Looking at the revision history, and it seems they removed all previously deprecated things in v1.66.0. So I guess they don't really follow semver... 😠

There seems to be quite a bit they deprecated, and I've only really fixed the strand stuff so far. I've found that non_blocking_io was changed quite a bit, more than just the name. Unsure of what else has changed.