@The_Immortal

Сборка libtorrent под CentOS 7?

Приветствую!

Господа, во-первых, прошу простить, если вопрошу помощи не там, а во-вторых, акцентирую на том, что я абсолютно зеленый в Linux'ах.

Возникла необходимость собрать актуальный qbittorent под CentOS 7, ибо имеющийся пакет под CentOS достаточно дремуч.

Нашел инструкцию, в котором два этапа:
- сборка libtorrent;
- сборка qbittorent.

На этапе сборки libtorrent-1.2.0 вылезли вот такие ошибки:
spoiler
[root@localhost libtorrent-rasterbar-1.2.0]# make
Making all in include/libtorrent
make[1]: Entering directory `/root/libtorrent-rasterbar-1.2.0/include/libtorrent'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/libtorrent-rasterbar-1.2.0/include/libtorrent'
Making all in src
make[1]: Entering directory `/root/libtorrent-rasterbar-1.2.0/src'
  CXX      libtorrent_rasterbar_la-web_connection_base.lo
In file included from ../include/libtorrent/entry.hpp:76:0,
                 from ../include/libtorrent/settings_pack.hpp:36,
                 from ../include/libtorrent/aux_/session_settings.hpp:37,
                 from ../include/libtorrent/peer_connection.hpp:53,
                 from ../include/libtorrent/web_connection_base.hpp:42,
                 from web_connection_base.cpp:38:
../include/libtorrent/string_view.hpp:60:24: error: missing space between ‘""’ and suffix identifier
  constexpr string_view operator""_sv(char const* str, std::size_t len)
                        ^
In file included from ../include/libtorrent/settings_pack.hpp:36:0,
                 from ../include/libtorrent/aux_/session_settings.hpp:37,
                 from ../include/libtorrent/peer_connection.hpp:53,
                 from ../include/libtorrent/web_connection_base.hpp:42,
                 from web_connection_base.cpp:38:
../include/libtorrent/entry.hpp: In member function ‘typename libtorrent::aux::map_string<T>::base::iterator libtorrent::aux::map_string<T>::find(const string_view&)’:
../include/libtorrent/entry.hpp:110:33: error: ‘const string_view’ has no member named ‘to_string’
     return this->base::find(key.to_string());
                                 ^
../include/libtorrent/entry.hpp: In member function ‘typename libtorrent::aux::map_string<T>::base::const_iterator libtorrent::aux::map_string<T>::find(const string_view&) const’:
../include/libtorrent/entry.hpp:115:33: error: ‘const string_view’ has no member named ‘to_string’
     return this->base::find(key.to_string());
                                 ^
In file included from ../include/libtorrent/aux_/session_settings.hpp:37:0,
                 from ../include/libtorrent/peer_connection.hpp:53,
                 from ../include/libtorrent/web_connection_base.hpp:42,
                 from web_connection_base.cpp:38:
../include/libtorrent/settings_pack.hpp: At global scope:
../include/libtorrent/settings_pack.hpp:93:18: error: function ‘libtorrent::settings_pack& libtorrent::settings_pack::operator=(libtorrent::settings_pack&&)’ defaulted on its first declaration with an exception-specification that differs from the implicit declaration ‘libtorrent::settings_pack& libtorrent::settings_pack::operator=(libtorrent::settings_pack&&)’
   settings_pack& operator=(settings_pack&&) noexcept = default;
                  ^
In file included from ../include/libtorrent/torrent_info.hpp:52:0,
                 from ../include/libtorrent/torrent.hpp:48,
                 from ../include/libtorrent/web_connection_base.hpp:43,
                 from web_connection_base.cpp:38:
../include/libtorrent/file_storage.hpp:64:15: error: function ‘libtorrent::file_entry& libtorrent::file_entry::operator=(libtorrent::file_entry&&) &’ defaulted on its first declaration with an exception-specification that differs from the implicit declaration ‘libtorrent::file_entry& libtorrent::file_entry::operator=(libtorrent::file_entry&&)’
   file_entry& operator=(file_entry&&) & noexcept = default;
               ^
In file included from ../include/libtorrent/aux_/socket_type.hpp:41:0,
                 from ../include/libtorrent/utp_socket_manager.hpp:39,
                 from ../include/libtorrent/aux_/session_udp_sockets.hpp:36,
                 from ../include/libtorrent/aux_/session_interface.hpp:46,
                 from ../include/libtorrent/ip_voter.hpp:40,
                 from ../include/libtorrent/peer_list.hpp:47,
                 from ../include/libtorrent/torrent.hpp:51,
                 from ../include/libtorrent/web_connection_base.hpp:43,
                 from web_connection_base.cpp:38:
../include/libtorrent/i2p_stream.hpp: In member function ‘void libtorrent::i2p_stream::set_destination(libtorrent::string_view)’:
../include/libtorrent/i2p_stream.hpp:105:51: error: ‘using string_view = boost::string_ref’ has no member named ‘to_string’
  void set_destination(string_view d) { m_dest = d.to_string(); }
                                                   ^
make[1]: *** [libtorrent_rasterbar_la-web_connection_base.lo] Error 1
make[1]: Leaving directory `/root/libtorrent-rasterbar-1.2.0/src'
make: *** [all-recursive] Error 1


Погуглил, но решений не нашел. Помогите, пожалуйста, разобраться.

Спасибо!
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 2
gecube
@gecube
системный администратор, программист... все дела..
Для начала - попробуйте более свежую тулинга (компилятор, заголовочные файлы и т.п.) для сборки.
Второй совет - теоретически, если все зависимости упаковать внутрь, то можно собрать библиотеку на какой-нибудь убунте, а потом перенести на ЦентОСь.
Ответ написан
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Сборка чего бы то ни было в центосе - это такая развлекуха, что без знаний того, как программы собираются в линухе вообще - это превратится в очень увлекательный ликбез по изучению компилятора, линкера, autotools/cmake (в зависимости от того, что используете), make...

Если нет желания прокачивать скиллы в режиме полного погружения - поищите стороннюю репу где есть этот пакет (достаточно популярный пакет наверняка кто-то да соберет) и подключите ее. А для начала подключите крупные сторонние репы типа epel, elgis, lux, rpmforge
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы