@blueberries2016

Почему компиляция кода заканчивается с ошибкой?

Пытаюсь скомпилировать код (https://github.com/Veronite/veronite) на Ubuntu Server 16.04. (я знаю, что есть уже собранный в том же репозитории, но там нет того исправления, которое есть в исходниках). Я устанавливаю все программы по списку и запускаю компиляцию командой make. В самом начале среди проверки всех модулей появляются некоторые ошибки:
-- Could not find DEVELOPER_LOCAL_TOOLS in env (not required)
-- Could not find DEVELOPER_LIBUNBOUND_OLD in env (not required)
-- Could not find DATABASE in env (not required unless you want to change database type from default: lmdb)
-- Checking for module 'libpcsclite'
--   No package 'libpcsclite' found
-- Could NOT find PCSC (missing:  PCSC_LIBRARY PCSC_INCLUDE_DIR) 
-- Could NOT find MiniUPnPc (missing:  MINIUPNP_INCLUDE_DIR MINIUPNP_LIBRARY) 
-- Could NOT find Readline (missing:  Readline_INCLUDE_DIR Readline_LIBRARY) 
-- Could not find GNU readline library so building without readline support
-- Found Git: /usr/bin/git
-- Could NOT find GTest (missing:  GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) 
-- GTest not found on the system: will use GTest bundled with this source
Doxygen: graphviz not found - graphs disabled
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)

Хотя большинство этих пакетов установлено, они почему-то не определяются.
Далее происходит процесс компиляции до 40% и потом происходит ошибка, которой завершается компиляция:
/root/veronite/src/rpc/zmq_server.cpp: In member function ‘bool cryptonote::rpc::ZmqServer::addTCPSocket(std::__cxx11::string, std::__cxx11::string)’:
/root/veronite/src/rpc/zmq_server.cpp:105:69: error: no matching function for call to ‘zmq::socket_t::setsockopt(int, const int&)’
     rep_socket->setsockopt(ZMQ_RCVTIMEO, DEFAULT_RPC_RECV_TIMEOUT_MS);
                                                                     ^
In file included from /root/veronite/src/rpc/zmq_server.h:32:0,
                 from /root/veronite/src/rpc/zmq_server.cpp:29:
/usr/include/zmq.hpp:289:21: note: candidate: void zmq::socket_t::setsockopt(int, const void*, size_t)
         inline void setsockopt (int option_, const void *optval_,
                     ^
/usr/include/zmq.hpp:289:21: note:   candidate expects 3 arguments, 2 provided
src/rpc/CMakeFiles/obj_daemon_rpc_server.dir/build.make:86: recipe for target 'src/rpc/CMakeFiles/obj_daemon_rpc_server.dir/zmq_server.cpp.o' failed
make[3]: *** [src/rpc/CMakeFiles/obj_daemon_rpc_server.dir/zmq_server.cpp.o] Error 1
make[3]: Leaving directory '/root/veronite/build/release'
CMakeFiles/Makefile2:1801: recipe for target 'src/rpc/CMakeFiles/obj_daemon_rpc_server.dir/all' failed
make[2]: *** [src/rpc/CMakeFiles/obj_daemon_rpc_server.dir/all] Error 2
make[2]: Leaving directory '/root/veronite/build/release'
Makefile:138: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/root/veronite/build/release'
Makefile:64: recipe for target 'release-all' failed
make: *** [release-all] Error 2

Раз у этого проекта есть релиз, значит код скомпилировать можно, но как? Что идет не так?
  • Вопрос задан
  • 347 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Хотя большинство этих пакетов установлено, они почему-то не определяются.

Чтобы они определялись должны быть установлены соответствующие -dev пакеты (т.е., например, чтобы определялся libpcsclite должен быть установлен libpcsclite-dev).
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы