Open felmur opened 5 years ago
Hi @felmur , is it possible for you to install appropriate boost version locally? As I see in travis file https://github.com/qmule/libed2k/blob/master/.travis.yml Boost 1.55 should be ok.
Hi @a-pavlov, my linux distro (Archlinux) only support boost 1.69. v1.55 is a very old version of boost, so I think that sources of libed2k should be updated to support new version of boost. What do you think about that? Is this possible?
Regards.
@felmur You can download boost 1.55 https://www.boost.org/users/history/version_1_55_0.html and build it manually. About updating libed2k sources to support boost 1.69 - actually this project development is on hold and I don't know who will work on this. If you trying to solve compile error you can compare: https://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket.html with new https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/reference/basic_datagram_socket/basic_datagram_socket.html And as I see io_service was replaced with io_context for backward compatibility: Please check this link https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/reference/io_service.html and header file inlude/libed2k/io_service.hpp
@felmur, as an option, you could build libed2k inside isolated docker with boost 1.55 https://github.com/zouzias/docker-boost
thank you all for your help. I will try to do something to solve the compilation problem, but I have little hope of doing it. Thanks anyway to both of you for the information you gave me. Regards.
@isharov, I tried to do what you suggested (create a docker with boost <1.66 to compile libed2k) but I found the following problems using docker-boost:
1) it does not seem to be possible to install a docker with versions of boost 1.5 as they are no longer available on the site from which they must be downloaded 2) I tried several versions of boost 1.6 but for all the compilation of libed2k does not even start, as cmake challenges the lack of static libraries like boost-system and others.
Moreover, docker-boost seems to install some include files but not called libraries, which could only exist by compiling the entire boost package <1.66. In this case, it no longer makes sense to use a docker: I remove the boost library installed on my system and proceed to compile the package directly on my system.
Thanks anyway for letting me discover docker, which was a tool I didn't know.
Greetings
@a-pavlov, it seems that changes to libed2k sources to adapt to the new library boost are many and should be made by someone who has written a library, since it is necessary to overview the same for massive changes to the source. Thanks anyway for the quick answers.
Greetings
Any updates on this? libed2k
fails to build against Boost 1.76.
Hi, i'm trying to compile your library under archlinux and I have got some errors. I think that those errors are related to newer version of boost library. First error:
/home/felice/libed2k/include/libed2k/error_code.hpp:174:29: error: ‘get_system_category’ is not a member of ‘boost::system’; did you mean ‘system_category’? 174 | { return boost::system::get_system_category(); } | ^~~~~~~~~~~~~~~~~~~ | system_category /home/felice/libed2k/include/libed2k/error_code.hpp: In function ‘const boost::system::error_category& libed2k::get_posix_category()’: /home/felice/libed2k/include/libed2k/error_code.hpp:181:29: error: ‘get_generic_category’ is not a member of ‘boost::system’; did you mean ‘generic_category’? 181 | { return boost::system::get_generic_category(); } | ^~~~~~~~~~~~~~~~~~~~ | generic_category
I solved these two errors by replacing "get_system_category" with "system_category" and "get_generic_category" with "generic_category".
The compilation goes on but stops again on the following error:
/home/felice/libed2k/src/broadcast_socket.cpp:284:69: error: no matching function for call to ‘boost::asio::basic_datagram_socket<boost::asio::ip::udp>::basic_datagram_socket(libed2k::io_service&)’ 284 | boost::shared_ptr<datagram_socket> s(new datagram_socket(ios)); | ^
Any ideas for this? Regards.