Boost falla continuamente al descargar mientras se usa cmake para ethminer

Boost falla continuamente al descargar mientras se usa cmake para ethminer

He estado estancado con esto desde esta mañana. Básicamente me encontré con un problema con este cmake .. -DETHASHCUDA=ON -DETHASHCL=OFFcomando mientras seguía estohttps://medium.com/coinmonks/eth-x-nvidia-x-ubuntu-1980393a36f8tutorial.

Cosas que sé con seguridad:

El problema no está en los parámetros, lo intenté sin ellos y me sale el mismo error.

Tengo conexión a internet.

Cosas que probé:

Encontré un problema similar que tenía la solución para descargar boost manualmente, colocarlo en la carpeta de destino y habilitar una opción para tomar un archivo local si lo hay (olvidé qué es y no puedo encontrar ese hilo de preguntas en este momento). , Lo siento). Por supuesto, esto no funcionó para mí.

También he visto en sus sitios que han cambiado sus URL de descarga, pero no tengo idea de qué hacer con esa información.

Aquí está el mensaje relevante:

-- SHA1 hash of
    /root/.hunter/_Base/Download/Boost/1.66.0/075d0b4/boost_1_66_0.7z
  does not match expected value
    expected: '075d0b43980614054b1f1bafd189f863bba6600e'
      actual: 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
-- File already exists but hash mismatch. Removing...
-- Downloading...
   dst='/root/.hunter/_Base/Download/Boost/1.66.0/075d0b4/boost_1_66_0.7z'
   timeout='none'
-- Using src='https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z'
-- Retrying...
-- Using src='https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z'
-- Retry after 5 seconds (attempt #2) ...
-- Using src='https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z'
-- Retry after 5 seconds (attempt #3) ...
-- Using src='https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z'
-- Retry after 15 seconds (attempt #4) ...
-- Using src='https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z'
-- Retry after 60 seconds (attempt #5) ...
-- Using src='https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z'
CMake Error at Build/Boost-prefix/src/Boost-stamp/download-Boost.cmake:159 (message):
  Each download failed!

    error: downloading 'https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z' failed
         status_code: 22
         status_string: "HTTP response code said error"

Cuando intento ejecutar cmake sin Hunter, -DHUNTER_ENABLED=OFFaparece el siguiente mensaje de error:

CMake Error at CMakeLists.txt:68 (find_package):
  Could not find a package configuration file provided by "jsoncpp" with any
  of the following names:

    jsoncppConfig.cmake
    jsoncpp-config.cmake

  Add the installation prefix of "jsoncpp" to CMAKE_PREFIX_PATH or set
  "jsoncpp_DIR" to a directory containing one of the above files.  If
  "jsoncpp" provides a separate development package or SDK, be sure it has
  been installed.

ACTUALIZAR:Pude instalar manualmente los paquetes necesarios y pude ejecutarlos cmake ..correctamente.

Sin embargo, encontré otro error al ejecutarcmake --build .

Error:

In file included from /home/luka/ethrepoclone/ethminer/libethash-cuda/CUDAMiner.cpp:18:
/home/luka/ethrepoclone/ethminer/libethash-cuda/../libethcore/Farm.h:30:10: fatal error: json/json.h: No such file or directory
   30 | #include <json/json.h>
      |          ^~~~~~~~~~~~~
compilation terminated.

ACTUALIZACIÓN#2:Después de corregir el error anterior, ln -s /usr/include/jsoncpp/json/ /usr/include/jsonahora aparece un error diferente (creo que en tiempo de compilación) de algún tipo de archivo FixHash.h.

[ 56%] Building CXX object libethcore/CMakeFiles/ethcore.dir/EthashAux.cpp.o
/home/luka/ethmining/ethminer/libethcore/EthashAux.cpp: In static member function ‘static dev::eth::Result dev::eth::EthashAux::eval(int, const h256&, uint64_t)’:
/home/luka/ethmining/ethminer/libethcore/EthashAux.cpp:28:29: error: ‘get_global_epoch_context’ is not a member of ‘ethash’
   28 |     auto& context = ethash::get_global_epoch_context(epoch);
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/EthashAux.cpp:30:88: error: no matching function for call to ‘dev::FixedHash<32>::FixedHash(<brace-enclosed initializer list>)’
   30 |     h256 mix{reinterpret_cast<byte*>(result.mix_hash.bytes), h256::ConstructFromPointer};
      |                                                                                        ^
In file included from /home/luka/ethmining/ethminer/libethcore/../libdevcore/Exceptions.h:31,
                 from /home/luka/ethmining/ethminer/libethcore/EthashAux.h:21,
                 from /home/luka/ethmining/ethminer/libethcore/EthashAux.cpp:18:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:136:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(const string&) [with unsigned int N = 32; std::string = std::__cxx11::basic_string<char>]’
  136 |     explicit FixedHash(std::string const& _s)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:136:14: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:130:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(const byte*, dev::FixedHash<N>::ConstructFromPointerType) [with unsigned int N = 32; byte = unsigned char]’
  130 |     explicit FixedHash(byte const* _bs, ConstructFromPointerType /*unused*/)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:130:14: note:   conversion of argument 1 would be ill-formed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:112:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(dev::bytesConstRef, dev::FixedHash<N>::ConstructFromHashType) [with unsigned int N = 32; dev::bytesConstRef = dev::vector_ref<const unsigned char>]’
  112 |     explicit FixedHash(bytesConstRef _b, ConstructFromHashType _t = FailIfDifferent)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:112:14: note:   conversion of argument 1 would be ill-formed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:94:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(const bytes&, dev::FixedHash<N>::ConstructFromHashType) [with unsigned int N = 32; dev::bytes = std::vector<unsigned char>]’
   94 |     explicit FixedHash(bytes const& _b, ConstructFromHashType _t = FailIfDifferent)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:94:14: note:   conversion of argument 1 would be ill-formed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:91:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(unsigned int) [with unsigned int N = 32]’
   91 |     explicit FixedHash(unsigned _u) { toBigEndian(_u, m_data); }
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:91:14: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:88:5: note: candidate: ‘dev::FixedHash<N>::FixedHash(const Arith&) [with unsigned int N = 32; dev::FixedHash<N>::Arith = boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<256, 256, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >]’
   88 |     FixedHash(Arith const& _arith) { toBigEndian(_arith, m_data); }
      |     ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:88:5: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:79:14: note: candidate: ‘template<unsigned int M> dev::FixedHash<N>::FixedHash(const dev::FixedHash<M>&, dev::FixedHash<N>::ConstructFromHashType)’
   79 |     explicit FixedHash(FixedHash<M> const& _h, ConstructFromHashType _t = AlignLeft)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:79:14: note:   template argument deduction/substitution failed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:75:5: note: candidate: ‘dev::FixedHash<N>::FixedHash() [with unsigned int N = 32]’
   75 |     FixedHash() { m_data.fill(0); }
      |     ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:75:5: note:   candidate expects 0 arguments, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note: candidate: ‘constexpr dev::FixedHash<32>::FixedHash(const dev::FixedHash<32>&)’
   41 | class FixedHash
      |       ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note: candidate: ‘constexpr dev::FixedHash<32>::FixedHash(dev::FixedHash<32>&&)’
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/EthashAux.cpp:31:92: error: no matching function for call to ‘dev::FixedHash<32>::FixedHash(<brace-enclosed initializer list>)’
   31 |     h256 final{reinterpret_cast<byte*>(result.final_hash.bytes), h256::ConstructFromPointer};
      |                                                                                            ^
In file included from /home/luka/ethmining/ethminer/libethcore/../libdevcore/Exceptions.h:31,
                 from /home/luka/ethmining/ethminer/libethcore/EthashAux.h:21,
                 from /home/luka/ethmining/ethminer/libethcore/EthashAux.cpp:18:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:136:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(const string&) [with unsigned int N = 32; std::string = std::__cxx11::basic_string<char>]’
  136 |     explicit FixedHash(std::string const& _s)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:136:14: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:130:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(const byte*, dev::FixedHash<N>::ConstructFromPointerType) [with unsigned int N = 32; byte = unsigned char]’
  130 |     explicit FixedHash(byte const* _bs, ConstructFromPointerType /*unused*/)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:130:14: note:   conversion of argument 1 would be ill-formed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:112:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(dev::bytesConstRef, dev::FixedHash<N>::ConstructFromHashType) [with unsigned int N = 32; dev::bytesConstRef = dev::vector_ref<const unsigned char>]’
  112 |     explicit FixedHash(bytesConstRef _b, ConstructFromHashType _t = FailIfDifferent)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:112:14: note:   conversion of argument 1 would be ill-formed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:94:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(const bytes&, dev::FixedHash<N>::ConstructFromHashType) [with unsigned int N = 32; dev::bytes = std::vector<unsigned char>]’
   94 |     explicit FixedHash(bytes const& _b, ConstructFromHashType _t = FailIfDifferent)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:94:14: note:   conversion of argument 1 would be ill-formed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:91:14: note: candidate: ‘dev::FixedHash<N>::FixedHash(unsigned int) [with unsigned int N = 32]’
   91 |     explicit FixedHash(unsigned _u) { toBigEndian(_u, m_data); }
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:91:14: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:88:5: note: candidate: ‘dev::FixedHash<N>::FixedHash(const Arith&) [with unsigned int N = 32; dev::FixedHash<N>::Arith = boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<256, 256, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> >]’
   88 |     FixedHash(Arith const& _arith) { toBigEndian(_arith, m_data); }
      |     ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:88:5: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:79:14: note: candidate: ‘template<unsigned int M> dev::FixedHash<N>::FixedHash(const dev::FixedHash<M>&, dev::FixedHash<N>::ConstructFromHashType)’
   79 |     explicit FixedHash(FixedHash<M> const& _h, ConstructFromHashType _t = AlignLeft)
      |              ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:79:14: note:   template argument deduction/substitution failed:
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:75:5: note: candidate: ‘dev::FixedHash<N>::FixedHash() [with unsigned int N = 32]’
   75 |     FixedHash() { m_data.fill(0); }
      |     ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:75:5: note:   candidate expects 0 arguments, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note: candidate: ‘constexpr dev::FixedHash<32>::FixedHash(const dev::FixedHash<32>&)’
   41 | class FixedHash
      |       ^~~~~~~~~
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note:   candidate expects 1 argument, 2 provided
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note: candidate: ‘constexpr dev::FixedHash<32>::FixedHash(dev::FixedHash<32>&&)’
/home/luka/ethmining/ethminer/libethcore/../libdevcore/FixedHash.h:41:7: note:   candidate expects 1 argument, 2 provided
make[2]: *** [libethcore/CMakeFiles/ethcore.dir/build.make:63: libethcore/CMakeFiles/ethcore.dir/EthashAux.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:304: libethcore/CMakeFiles/ethcore.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

Respuesta1

Boost ha movido las descargas a JFrog Artifactory

Para los usuarios de Boost, la única diferencia es que hay una nueva URL para descargar versiones e instantáneas.

En lugar de:https://dl.bintray.com/boostorg/release/Deberías usarhttps://boostorg.jfrog.io/artifactory/main/release/para recuperar lanzamientos de impulso.

Supuestamente, esto lo solucionará:

https://github.com/ethereum-mining/ethminer/commit/47348022be371df97ed1d8535bcb3969a085f60a

cmake/Hunter/config.cmake
@@ -1,2 +1,7 @@
  hunter_config(CURL VERSION ${HUNTER_CURL_VERSION} CMAKE_ARGS HTTP_ONLY=ON CMAKE_USE_OPENSSL=OFF CMAKE_USE_LIBSSH2=OFF CURL_CA_PATH=none)
- hunter_config(Boost VERSION 1.66.0)
+ hunter_config(
+     Boost
+     VERSION 1.66.0_new_url
+     SHA1 f0b20d2d9f64041e8e7450600de0267244649766
+     URL https://boostorg.jfrog.io/artifactory/main/release/1.66.0/source/boost_1_66_0.tar.gz
+ )

Respuesta2

La solución es utilizar la versión funcional de Hunter con la última versión de CMake. Hice una solicitud de extracción con esta solución; está funcionando.

Compruébalo aquí: https://github.com/ethereum-mining/ethminer/pull/2413/files

información relacionada