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

build failing with boost 1.67 #40

Open nico202 opened 5 years ago

nico202 commented 5 years ago

[ 8%] Building CXX object socket.io-client-cpp/CMakeFiles/sioclient.dir/src/sio_client.cpp.o
In file included from /home/IITaudio/Scm/Git/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/asio/endpoint.hpp:32:0,
from /home/IITaudio/Scm/Git/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/config/asio_no_tls_client.hpp:32,
from /home/IITaudio/Scm/Git/Wii-Scale/wii-scale/socket.io-client-cpp/src/internal/sio_client_impl.h:29,
from /home/IITaudio/Scm/Git/Wii-Scale/wii-scale/socket.io-client-cpp/src/sio_client.cpp:8:
/home/IITaudio/Scm/Git/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/asio/connection.hpp: In member function ‘std::error_code websocketpp::transport::asio::conne ction::init_asio(websocketpp::transport::asio::connection::io_service_ptr)’:
/home/IITaudio/Scm/Git/Wii-Scale/wii-scale/socket.io-client-cpp/lib/websocketpp/websocketpp/transport/asio/connection.hpp:426:38: error: no matching function for call to ‘make_shared<template<cl ass Executor> class boost::asio::strand>(std::reference_wrapper)’ lib::ref(*io_service));

It's working with boost 1.60 and with 1.65.1

ribbons commented 5 years ago

Hmm, looks a bit like something in websocketpp doesn't like whatever has changed in boost 1.67. Unfortunately I'm snowed under with some website migrations at the moment, so don't have the time to properly go through this at present.

nico202 commented 5 years ago

No problem since I kept the 1.65.1 version, it's just a warn for the future

ribbons commented 5 years ago

Noticed a new version of boost (1.68) came down via pacman today which reminded me to take a look at this.

Funnily enough with boost 1.68 it compiles with no issues for me - makes me think it may have been a regression in boost which has now been fixed. Does it compile okay for you with version 1.68?

nico202 commented 5 years ago

Still failing both with 1.67 & 1.68..

ribbons commented 5 years ago

How odd... Bit of a head scratcher that one! I'm guessing you've tried emptying the build folder and building from scratch?

nico202 commented 5 years ago

Yeah sure, I'm always in a new folder

ribbons commented 5 years ago

Hmm, nothing springs to mind - think we'll have to wait and see if anyone else runs into the same problem and try and work out what the common factor is!

Sorry, remind me what distro you are running?

nico202 commented 5 years ago

NixOS. Here a nix-shell that can be used

with import <nixpkgs> {};
{
  wiiscale = stdenv.mkDerivation {
    name = "Wii-Scale";
    buildInputs = [
      pythonFull
      python27Packages.lxml
      python27Packages.bpython
      python27Packages.requests
      python27Packages.virtualenv
      python27Packages.suds-jurko
      python27Packages.dbus-python
      (pkgs.bluez5.override {enableWiimote = true;})
      nodejs

      gnumake
      cmake
      pkgconfig
## NOTICE THE VERSION HERE. IT'S POSSIBLE TO TRY OTHER VERSION LIKE boost166
      boost168
      glibmm
      pcre
      xwiimote
      libudev
      cppcheck
      openssl
    ];

  LC_CTYPE="en_US.UTF-8";
  LANG="en_US.UTF-8";
  LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";

  shellHook = ''
        unset http_proxy
        export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
        export GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
        export JULIA_PKGDIR=$(realpath ./.julia_pkgs)
        export BOOST_ROOT=${boost}/
        export BOOST_LIBRARYDIR=${boost}/lib/
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${boost}/lib:${xwiimote}/lib/:${glibmm}/lib:${libsigcxx}/lib
    '';
  };
}