aelveborn / Wii-Scale

Turns your Wii Balance Board into a scale and presents your weight on a responsive website. Runs Linux and works on your Raspberry Pi.
http://aelveborn.github.io/Wii-Scale/
GNU General Public License v2.0
116 stars 27 forks source link

Unable to compile with GCC 12.2.0 #48

Open parkerlreed opened 1 year ago

parkerlreed commented 1 year ago
2)(deck@steamdeck build)$ cmake ../wii-scale && make
CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib64/cmake/Boost-1.80.0/BoostConfig.cmake (found version "1.80.0") found components: program_options 
-- not define build type, set to release
-- Found Boost: /usr/lib64/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.55.0") found components: system date_time random 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/deck/build/Wii-Scale/build
Consolidate compiler generated dependencies of target sioclient
[  8%] Building CXX object socket.io-client-cpp/CMakeFiles/sioclient.dir/src/sio_client.cpp.o
In file included from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/frame.hpp:37,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/connection.hpp:33,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/endpoint.hpp:31,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/roles/client_endpoint.hpp:31,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/client.hpp:31,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/src/internal/sio_client_impl.h:15,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/src/sio_client.cpp:8:
/home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/utilities.hpp:75:23: warning: ‘template<class _Arg1, class _Arg2, class _Result> struct std::binary_function’ is deprecated [-Wdeprecated-declarations]
   75 | struct ci_less : std::binary_function<std::string, std::string, bool> {
      |                       ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/12.2.0/string:48,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/src/sio_client.h:9,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/src/sio_client.cpp:7:
/usr/include/c++/12.2.0/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
/home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/utilities.hpp:78:21: warning: ‘template<class _Arg1, class _Arg2, class _Result> struct std::binary_function’ is deprecated [-Wdeprecated-declarations]
   78 |       : public std::binary_function<unsigned char,unsigned char,bool>
      |                     ^~~~~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_function.h:131:12: note: declared here
  131 |     struct binary_function
      |            ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/12.2.0/bits/alloc_traits.h:33,
                 from /usr/include/c++/12.2.0/ext/alloc_traits.h:34,
                 from /usr/include/c++/12.2.0/bits/basic_string.h:39,
                 from /usr/include/c++/12.2.0/string:53:
/usr/include/c++/12.2.0/bits/stl_construct.h: In instantiation of ‘void std::_Construct(_Tp*, _Args&& ...) [with _Tp = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; _Args = {reference_wrapper<boost::asio::io_context>}]’:
/usr/include/c++/12.2.0/bits/alloc_traits.h:635:19:   required from ‘static void std::allocator_traits<std::allocator<void> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; _Args = {std::reference_wrapper<boost::asio::io_context>}; allocator_type = std::allocator<void>]’
/usr/include/c++/12.2.0/bits/shared_ptr_base.h:604:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::reference_wrapper<boost::asio::io_context>}; _Tp = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/12.2.0/bits/shared_ptr_base.h:971:16:   required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; _Alloc = std::allocator<void>; _Args = {std::reference_wrapper<boost::asio::io_context>}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/12.2.0/bits/shared_ptr_base.h:1712:14:   required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {std::reference_wrapper<boost::asio::io_context>}; _Tp = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/12.2.0/bits/shared_ptr.h:464:59:   required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {std::reference_wrapper<boost::asio::io_context>}; _Tp = boost::asio::basic_stream_socket<boost::asio::ip::tcp>]’
/usr/include/c++/12.2.0/bits/shared_ptr.h:1009:14:   required from ‘std::shared_ptr<typename std::enable_if<(! std::is_array< <template-parameter-1-1> >::value), _Tp>::type> std::make_shared(_Args&& ...) [with _Tp = boost::asio::basic_stream_socket<boost::asio::ip::tcp>; _Args = {reference_wrapper<boost::asio::io_context>}; typename enable_if<(! is_array< <template-parameter-1-1> >::value), _Tp>::type = boost::asio::basic_stream_socket<boost::asio::ip::tcp>]’
/home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/asio/security/none.hpp:171:64:   required from here
/usr/include/c++/12.2.0/bits/stl_construct.h:119:7: error: no matching function for call to ‘boost::asio::basic_stream_socket<boost::asio::ip::tcp>::basic_stream_socket(std::reference_wrapper<boost::asio::io_context>)’
  119 |       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/asio/basic_socket_streambuf.hpp:25,
                 from /usr/include/boost/asio/basic_socket_iostream.hpp:24,
                 from /usr/include/boost/asio.hpp:40,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/common/asio.hpp:65,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/asio/base.hpp:31,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/asio/connection.hpp:31,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/config/asio_no_tls_client.hpp:32,
                 from /home/deck/build/Wii-Scale/wii-scale/socket.io-client-cpp/src/internal/sio_client_impl.h:29:
/usr/include/boost/asio/basic_stream_socket.hpp:304:3: note: candidate: ‘template<class Protocol1, class Executor1> boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(boost::asio::basic_stream_socket<Protocol1, Executor1>&&, typename boost::asio::constraint<(std::is_convertible<_Iter, _Iterator>::value && std::is_convertible<_Ep, _Dp>::value)>::type) [with Executor1 = Protocol1; Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor]’
  304 |   basic_stream_socket(basic_stream_socket<Protocol1, Executor1>&& other,
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:304:3: note:   template argument deduction/substitution failed:
/usr/include/c++/12.2.0/bits/stl_construct.h:119:7: note:   ‘std::reference_wrapper<boost::asio::io_context>’ is not derived from ‘boost::asio::basic_stream_socket<Protocol1, Executor1>’
  119 |       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:248:3: note: candidate: ‘template<class ExecutionContext> boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(ExecutionContext&, const protocol_type&, const native_handle_type&, typename boost::asio::constraint<std::is_convertible<ExecutionContext&, boost::asio::execution_context&>::value>::type) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor]’
  248 |   basic_stream_socket(ExecutionContext& context,
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:248:3: note:   template argument deduction/substitution failed:
/usr/include/c++/12.2.0/bits/stl_construct.h:119:7: note:   candidate expects 4 arguments, 1 provided
  119 |       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:204:3: note: candidate: ‘template<class ExecutionContext> boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(ExecutionContext&, const endpoint_type&, typename boost::asio::constraint<std::is_convertible<ExecutionContext&, boost::asio::execution_context&>::value>::type) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor]’
  204 |   basic_stream_socket(ExecutionContext& context, const endpoint_type& endpoint,
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:204:3: note:   template argument deduction/substitution failed:
/usr/include/c++/12.2.0/bits/stl_construct.h:119:7: note:   candidate expects 3 arguments, 1 provided
  119 |       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:158:3: note: candidate: ‘template<class ExecutionContext> boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(ExecutionContext&, const protocol_type&, typename boost::asio::constraint<std::is_convertible<ExecutionContext&, boost::asio::execution_context&>::value, boost::asio::defaulted_constraint>::type) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor]’
  158 |   basic_stream_socket(ExecutionContext& context, const protocol_type& protocol,
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:158:3: note:   template argument deduction/substitution failed:
/usr/include/c++/12.2.0/bits/stl_construct.h:119:7: note:   candidate expects 3 arguments, 1 provided
  119 |       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:119:12: note: candidate: ‘boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(ExecutionContext&, typename boost::asio::constraint<std::is_convertible<ExecutionContext&, boost::asio::execution_context&>::value>::type) [with ExecutionContext = std::reference_wrapper<boost::asio::io_context>; Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor; typename boost::asio::constraint<std::is_convertible<ExecutionContext&, boost::asio::execution_context&>::value>::type = int]’ (near match)
  119 |   explicit basic_stream_socket(ExecutionContext& context,
      |            ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:119:12: note:   conversion of argument 1 would be ill-formed:
/usr/include/c++/12.2.0/bits/stl_construct.h:119:7: error: cannot bind non-const lvalue reference of type ‘std::reference_wrapper<boost::asio::io_context>&’ to an rvalue of type ‘std::reference_wrapper<boost::asio::io_context>’
  119 |       ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:269:3: note: candidate: ‘boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(boost::asio::basic_stream_socket<Protocol, Executor>&&) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor]’
  269 |   basic_stream_socket(basic_stream_socket&& other) BOOST_ASIO_NOEXCEPT
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:269:45: note:   no known conversion for argument 1 from ‘std::reference_wrapper<boost::asio::io_context>’ to ‘boost::asio::basic_stream_socket<boost::asio::ip::tcp>&&’
  269 |   basic_stream_socket(basic_stream_socket&& other) BOOST_ASIO_NOEXCEPT
      |                       ~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:226:3: note: candidate: ‘boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(const executor_type&, const protocol_type&, const native_handle_type&) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor; executor_type = boost::asio::any_io_executor; protocol_type = boost::asio::ip::tcp; native_handle_type = int]’
  226 |   basic_stream_socket(const executor_type& ex,
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:226:3: note:   candidate expects 3 arguments, 1 provided
/usr/include/boost/asio/basic_stream_socket.hpp:182:3: note: candidate: ‘boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(const executor_type&, const endpoint_type&) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor; executor_type = boost::asio::any_io_executor; endpoint_type = boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>]’
  182 |   basic_stream_socket(const executor_type& ex, const endpoint_type& endpoint)
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:182:3: note:   candidate expects 2 arguments, 1 provided
/usr/include/boost/asio/basic_stream_socket.hpp:139:3: note: candidate: ‘boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(const executor_type&, const protocol_type&) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor; executor_type = boost::asio::any_io_executor; protocol_type = boost::asio::ip::tcp]’
  139 |   basic_stream_socket(const executor_type& ex, const protocol_type& protocol)
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:139:3: note:   candidate expects 2 arguments, 1 provided
/usr/include/boost/asio/basic_stream_socket.hpp:103:12: note: candidate: ‘boost::asio::basic_stream_socket<Protocol, Executor>::basic_stream_socket(const executor_type&) [with Protocol = boost::asio::ip::tcp; Executor = boost::asio::any_io_executor; executor_type = boost::asio::any_io_executor]’
  103 |   explicit basic_stream_socket(const executor_type& ex)
      |            ^~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/basic_stream_socket.hpp:103:53: note:   no known conversion for argument 1 from ‘std::reference_wrapper<boost::asio::io_context>’ to ‘const boost::asio::basic_stream_socket<boost::asio::ip::tcp>::executor_type&’ {aka ‘const boost::asio::any_io_executor&’}
  103 |   explicit basic_stream_socket(const executor_type& ex)
      |                                ~~~~~~~~~~~~~~~~~~~~~^~
make[2]: *** [socket.io-client-cpp/CMakeFiles/sioclient.dir/build.make:76: socket.io-client-cpp/CMakeFiles/sioclient.dir/src/sio_client.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:155: socket.io-client-cpp/CMakeFiles/sioclient.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
rototom commented 1 year ago

same here, did you solve it?

parkerlreed commented 1 year ago

I've tried nothing and I'm all out of ideas!

Yeah I know enough to kind of poke around but not enough to fix stuff like this lol.

rototom commented 1 year ago

I compiled it in an ubuntu 18.04 container and it works on my ubuntu machine! Here you are: https://nc.okaris.de/index.php/s/zxptfBWwTMCt2yA