LubosD / fatrat

FatRat Download/Upload Manager - http://fatrat.dolezel.info
GNU General Public License v3.0
49 stars 20 forks source link

Compile error with boost 1.66 #45

Open maxdevaine opened 6 years ago

maxdevaine commented 6 years ago

Hello, I have problem with compiling on actual version of Arch Linux : Its look like problem with boost 1.66 :

[ 51%] Building CXX object CMakeFiles/fatrat.dir/src/SimpleEmail.cpp.o In file included from /usr/include/pion/tcp/server.hpp:22:0, from /usr/include/pion/http/server.hpp:22, from /usr/include/pion/http/plugin_server.hpp:20, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/remote/HttpService.h:42, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:71: /usr/include/pion/tcp/connection.hpp: In constructor ‘pion::tcp::connection::connection(boost::asio::io_service&, bool)’: /usr/include/pion/tcp/connection.hpp:120:36: error: no matching function for call to ‘boost::asio::ssl::context::context(boost::asio::io_service&, boost::asio::ssl::context_base::method)’ m_lifecycle(LIFECYCLE_CLOSE) ^ In file included from /usr/include/boost/asio/ssl/context.hpp:757:0, from /usr/include/boost/asio/ssl.hpp:18, from /usr/include/pion/tcp/connection.hpp:18, from /usr/include/pion/tcp/server.hpp:22, from /usr/include/pion/http/server.hpp:22, from /usr/include/pion/http/plugin_server.hpp:20, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/remote/HttpService.h:42, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:71: /usr/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context&&) context::context(context&& other) ^~~ /usr/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate expects 1 argument, 2 provided /usr/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) context::context(context::method m) ^~~ /usr/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate expects 1 argument, 2 provided In file included from /usr/include/pion/tcp/server.hpp:22:0, from /usr/include/pion/http/server.hpp:22, from /usr/include/pion/http/plugin_server.hpp:20, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/remote/HttpService.h:42, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:71: /usr/include/pion/tcp/connection.hpp: In constructor ‘pion::tcp::connection::connection(boost::asio::io_service&, pion::tcp::connection::ssl_context_type&)’: /usr/include/pion/tcp/connection.hpp:140:36: error: no matching function for call to ‘boost::asio::ssl::context::context(boost::asio::io_service&, boost::asio::ssl::context_base::method)’ m_lifecycle(LIFECYCLE_CLOSE) ^ In file included from /usr/include/boost/asio/ssl/context.hpp:757:0, from /usr/include/boost/asio/ssl.hpp:18, from /usr/include/pion/tcp/connection.hpp:18, from /usr/include/pion/tcp/server.hpp:22, from /usr/include/pion/http/server.hpp:22, from /usr/include/pion/http/plugin_server.hpp:20, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/remote/HttpService.h:42, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:71: /usr/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context&&) context::context(context&& other) ^~~ /usr/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate expects 1 argument, 2 provided /usr/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) context::context(context::method m) ^~~ /usr/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate expects 1 argument, 2 provided In file included from /usr/include/pion/tcp/server.hpp:22:0, from /usr/include/pion/http/server.hpp:22, from /usr/include/pion/http/plugin_server.hpp:20, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/remote/HttpService.h:42, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:71: /usr/include/pion/tcp/connection.hpp: In constructor ‘pion::tcp::connection::connection(boost::asio::io_service&, pion::tcp::connection::ssl_context_type&, bool, pion::tcp::connection::connection_handler)’: /usr/include/pion/tcp/connection.hpp:702:44: error: no matching function for call to ‘boost::asio::ssl::context::context(boost::asio::io_service&, boost::asio::ssl::context_base::method)’ m_finished_handler(finished_handler) ^ In file included from /usr/include/boost/asio/ssl/context.hpp:757:0, from /usr/include/boost/asio/ssl.hpp:18, from /usr/include/pion/tcp/connection.hpp:18, from /usr/include/pion/tcp/server.hpp:22, from /usr/include/pion/http/server.hpp:22, from /usr/include/pion/http/plugin_server.hpp:20, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/remote/HttpService.h:42, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:71: /usr/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context&&) context::context(context&& other) ^~~ /usr/include/boost/asio/ssl/impl/context.ipp:326:1: note: candidate expects 1 argument, 2 provided /usr/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate: boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) context::context(context::method m) ^~~ /usr/include/boost/asio/ssl/impl/context.ipp:63:1: note: candidate expects 1 argument, 2 provided [ 52%] Building CXX object CMakeFiles/fatrat.dir/src/SpeedGraph.cpp.o [ 52%] Building CXX object CMakeFiles/fatrat.dir/src/SpeedLimitWidget.cpp.o [ 52%] Building CXX object CMakeFiles/fatrat.dir/src/StatsWidget.cpp.o [ 53%] Building CXX object CMakeFiles/fatrat.dir/src/Transfer.cpp.o [ 53%] Building CXX object CMakeFiles/fatrat.dir/src/TransfersModel.cpp.o /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp: At global scope: /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:107:13: warning: ‘void testJava()’ declared ‘static’ but never defined [-Wunused-function] static void testJava(); ^~~~ [ 53%] Building CXX object CMakeFiles/fatrat.dir/src/Logger.cpp.o /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/fatrat.cpp:671:6: warning: ‘void testNotif()’ defined but not used [-Wunused-function] void testNotif() ^~~~~ make[2]: [CMakeFiles/fatrat.dir/build.make:1069: CMakeFiles/fatrat.dir/src/fatrat.cpp.o] Chyba 1 make[2]: Čeká se na nedokončené úlohy… /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/TransfersModel.cpp: In member function ‘virtual void ProgressDelegate::paint(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const’: /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/TransfersModel.cpp:381:29: warning: ‘QStyleOptionProgressBarV2’ is deprecated [-Wdeprecated-declarations] QStyleOptionProgressBarV2 opts; ^~~~ In file included from /usr/include/qt/QtWidgets/qabstractitemdelegate.h:45:0, from /usr/include/qt/QtWidgets/qabstractitemview.h:47, from /usr/include/qt/QtWidgets/qtreeview.h:44, from /usr/include/qt/QtWidgets/QTreeView:1, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/TransfersModel.h:32, from /tmp/yaourt-tmp-max/aur-fatrat-git/src/fatrat/src/TransfersModel.cpp:33: /usr/include/qt/QtWidgets/qstyleoption.h:349:51: note: declared here typedef Q_DECL_DEPRECATED QStyleOptionProgressBar QStyleOptionProgressBarV2; ^~~~~~~~~ make[1]: [CMakeFiles/Makefile2:137: CMakeFiles/fatrat.dir/all] Chyba 2 make: [Makefile:130: all] Chyba 2

pion library, which Fatrat uses, have same problem : https://github.com/splunk/pion/issues/124

Maybe is problem only in pion library, but author of pion libs still did not patch for this, so Fatrat will not work too.

Max

dwatzke commented 6 years ago

Seems that pion is dead. The last git commit is almost 2 years old.

LubosD commented 6 years ago

Luckily, Boost 1.66.0 carries its own HTTP server library (Boost.Beast), so I'll replace it with that. Boost 1.66.0 is still masked on Gentoo precisely due to breaking changes, so it may be a while.

LubosD commented 6 years ago

By the way, until Boost.Beast migration is done, you can use this branch instead: https://github.com/LubosD/fatrat/tree/feature/poconet_migration

It requires the poco (poco-net) library.