¿Cómo instalar eth en debian? (error de búsqueda de símbolo)

Instalé desde ubuntu ppa y obtuve este error.

➜  ~  eth
eth: symbol lookup error: eth: undefined symbol: _ZN3dev3eth14EthashGPUMiner14s_numInstancesE

¿Qué puedo hacer/verificar?

Estoy en las pruebas de Debian, así que tal vez algo entre en conflicto.

Respuestas (2)

Los PPA de Ubuntu no son compatibles con Debian. El problema principal es la versión incorrecta del paquete libcrypto++-dev .

Debe seguir el proceso de compilación genérico para Linux y compilarlo desde la fuente.

Instalar dependencias

sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcrypto++-dev libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libargtable2-dev llvm-3.7-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev libz-dev

Compilar desde la fuente

git clone --recursive https://github.com/ethereum/webthree-umbrella
cd webthree-umbrella
mkdir build
cd build
cmake ..
make -j $(nproc)

Binarios encontrados:

./build/libethereum/ethminer/ethminer
./build/libethereum/lllc/lllc
./build/libethereum/ethvm/ethvm
./build/libethereum/ethkey/ethkey
./build/libethereum/test/testeth
./build/alethzero/alethzero/alethzero
./build/alethzero/alethone/alethone
./build/alethzero/alethfive/alethfive
./build/mix/mix
./build/webthree/exp/exp
./build/webthree/eth/eth 
./build/webthree/test/testweb3
./build/webthree/test/ethrpctest/ethrpctest
./build/libweb3core/test/testweb3core
./build/libweb3core/rlp/rlp
./build/solidity/solc/solc
./build/solidity/test/soltest

Instalar

make install

Para otros usuarios que tienen este problema con Ubuntu: debe reinstalar eth y todas las dependencias:

Ubuntu 14.4

sudo apt-get update
sudo apt-get --reinstall install -y libboost-random1.55.0 libboost-system1.55.0 libboost-thread1.55.0 libc6 libcurl3 libgcc1 libjson-rpc-cpp-dev libjsoncpp0 libreadline6 libstdc++6 ocl-icd-libopencl1 libethereum miniupnpc libleveldb1 libmicrohttpd10 libglu1-mesa freeglut3 libboost-random1.55.0 libboost-system1.55.0 libboost-thread1.55.0 libc6 libgcc1 libjson-rpc-cpp-dev libjsoncpp0 libstdc++6 ocl-icd-libopencl1 libethereum-gui qml-module-qtquick-controls qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qt-labs-settings qml-module-qtwebengine ethereum eth

Otras versiones de Ubuntu

Descubra las dependencias y vuelva a instalarlas:

sudo apt-get update
sudo apt-cache depends eth | grep '[ |]Depends: [^<]' | cut -d: -f2 | tr -d ' ' | xargs sudo apt-get --reinstall install -y
sudo apt-cache depends mix | grep '[ |]Depends: [^<]' | cut -d: -f2 | tr -d ' ' | xargs sudo apt-get --reinstall install -y

Si esto no funciona, tal vez siga el problema aguas arriba .

la compilación salió bien, sin embargo, ahora tengo: ethminer: error al cargar bibliotecas compartidas: libdevcrypto.so: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio ||| mi mal, sudo ldconfig por supuesto....
github.com/ethereum/webthree-umbrella/issues/234 proporciona información mía, tal vez podría ayudar a alguien en el futuro
Necesitaba el paquete libcrypto++-dev no libcryptopp-dev
Además, esto no funciona en Debian Jessie.
Ahora puedo comentar; gracias, donante de reputación :-) Echa un vistazo aquí , podría resolverlo.
cmake ..proporciona CMake Error: The source directory "/home/user/git/webthree-umbrella" does not appear to contain CMakeLists.txt.instrucciones de compilación más recientes en: ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/…

Quería comentar en https://ethereum.stackexchange.com/a/1450/2937 de 5chdn pero SE dice "Debes tener 50 reputación para comentar", así que hasta que alguien me recompense con esos puntos, aquí.

Instalar dependencias...

en Debian 8: falta libjson-rpc-cpp-devy libqt5webengine5-devy llvm-3.5-deven lugar dellvm-3.7-dev

Había trabajado en todo el "proceso de compilación genérico para Linux" para Debian 8.5, pero detuve la compilación de llvm, simplemente lleva demasiado tiempo.

Finalmente, lo logré. Aquí está mi manual:

https://gist.github.com/drandreaskrueger/912e704cfc86fd757277a5fd9bd372d4

Que ayude Espero que quien encuentre esto, ahora necesite muchas horas menos.

Publique su manual aquí en lugar de cualquier sitio externo.