Estoy tratando de instalar solidity pero aparentemente no hay repositorios en línea con todas las dependencias. He intentado usar los métodos descritos aquí .
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
which solc
El repositorio está caído.
$ sudo apt-get update
W: Failed to fetch http://ppa.launchpad.net/ethereum/ethereum-dev/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found
W: Failed to fetch http://ppa.launchpad.net/ethereum/ethereum/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found
W: Failed to fetch http://ppa.launchpad.net/george-edison55/cmake-3.x/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
He intentado compilar el paquete desde aquí . Estoy usando debian 8.3 jessie e intenté instalar los paquetes para Ubuntu 14.04 (alquitrán confiable) pero tuve el mismo problema de repositorio con llvm (ver más abajo).
sudo apt-add-repository ppa:george-edison55/cmake-3.x
sudo apt-get -y update
sudo apt-get -y install language-pack-en-base
sudo dpkg-reconfigure locales
sudo apt-get -y install software-properties-common
sudo add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main"
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get -y update
sudo apt-get -y install llvm-3.7-dev
sudo add-apt-repository -y ppa:ethereum/ethereum-qt
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get -y update
sudo apt-get -y upgrade
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 libcryptopp-dev libmicrohttpd-dev libjsoncpp-dev \
libargtable2-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
sudo apt-get -y install libjson-rpc-cpp-dev
sudo apt-get -y install qml-module-qtquick-controls qml-module-qtwebengine
¿Hay algún binario del compilador solidity disponible?
¿O hay alguna forma de invocar el compilador del navegador Solidity desde la línea de comandos?
Editar:
El archivo de registro de compilación es:
$ ./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --cores 4 -DEVMJIT=0 -DETHASHCL=0 # build Solidity only
ETHBUILD - INFO: Starting build of webthree-helpers/utils for requested project solidity.
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- boost headers: /usr/include
-- boost lib : /usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so;/usr/lib/x86_64-linux-gnu/libboost_program_options.so;/usr/lib/x86_64-linux-gnu/libboost_random.so;/usr/lib/x86_64-linux-gnu/libpthread.so
-- Found gmp: /usr/lib/x86_64-linux-gnu/libgmp.so
-- Gmp headers: /usr/include/x86_64-linux-gnu
-- Gmp lib : /usr/lib/x86_64-linux-gnu/libgmp.so
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
ETHASHCL
EVMJIT
-- Build files have been written to: /home/user/log
Scanning dependencies of target secp256k1
Scanning dependencies of target scrypt
[ 10%] [ 20%] [ 30%] [ 40%] Building C object libscrypt/CMakeFiles/scrypt.dir/crypto_scrypt-hash.c.o
Building C object secp256k1/CMakeFiles/secp256k1.dir/secp256k1.c.o
Building C object libscrypt/CMakeFiles/scrypt.dir/crypto_scrypt-check.c.o
Building C object libscrypt/CMakeFiles/scrypt.dir/crypto-mcf.c.o
[ 50%] Building C object libscrypt/CMakeFiles/scrypt.dir/crypto-scrypt-saltgen.c.o
[ 60%] Building C object libscrypt/CMakeFiles/scrypt.dir/b64.c.o
[ 70%] [ 80%] Building C object libscrypt/CMakeFiles/scrypt.dir/sha256.c.o
Building C object libscrypt/CMakeFiles/scrypt.dir/crypto_scrypt-nosse.c.o
[ 90%] Building C object libscrypt/CMakeFiles/scrypt.dir/crypto_scrypt-hexconvert.c.o
[100%] Building C object libscrypt/CMakeFiles/scrypt.dir/slowequals.c.o
Linking C shared library libscrypt.so
[100%] Built target scrypt
Linking C static library libsecp256k1.a
[100%] Built target secp256k1
ETHBUILD - INFO: Starting build of libweb3core for requested project solidity.
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- boost headers: /usr/include
-- boost lib : /usr/lib/x86_64-linux-gnu/libboost_thread.so;/usr/lib/x86_64-linux-gnu/libboost_date_time.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;/usr/lib/x86_64-linux-gnu/libboost_regex.so;/usr/lib/x86_64-linux-gnu/libboost_chrono.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so;/usr/lib/x86_64-linux-gnu/libboost_program_options.so;/usr/lib/x86_64-linux-gnu/libboost_random.so;/usr/lib/x86_64-linux-gnu/libpthread.so
------------------------------------------------------------------------
-- Configuring dev
------------------------------------------------------------------------
-- CMake Version 3.0.2
-- CMAKE_BUILD_TYPE Build type RelWithDebInfo
-- TARGET_PLATFORM Target platform Linux
--------------------------------------------------------------- features
-- PROFILING Profiling support OFF
-- PARANOID - OFF
-- MINIUPNPC - ON
------------------------------------------------------------- components
-- TESTS Build tests ON
-- TOOLS Build tools ON
------------------------------------------------------------------------
-- Found jsoncpp: /usr/lib/libjsoncpp.so
-- JsonCpp headers: /usr/include/jsoncpp
-- JsonCpp lib : /usr/lib/libjsoncpp.so
-- Found leveldb: /usr/lib/x86_64-linux-gnu/libleveldb.so
-- LevelDB headers: /usr/include
-- LevelDB lib : /usr/lib/x86_64-linux-gnu/libleveldb.so
-- Found CryptoPP: /usr/include (found suitable version "5.6.2", minimum required is "5.6.2")
-- CryptoPP headers: /usr/include
-- CryptoPP lib : /usr/lib/libcryptopp.a
-- Found miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- miniupnpc headers: /usr/include
-- miniupnpc lib : /usr/lib/x86_64-linux-gnu/libminiupnpc.so
./test.cpp./overlaydb.cpp./memorydb.cpp./..//./FixedHash.cpp./..//./Base36.cpp./..//./core.cpp./..//./CommonJS.cpp./..//./RangeMask.cpp./..//./rlp.cpp./..//./SecretStore.cpp./..//./crypto.cpp./..//./trie.cpp./..//./AES.cpp./..//./hexPrefix.cpp./..//./MemTrie.cpp./..//./peer.cpp./..//./eip-8.cpp./..//./rlpx.cpp./..//./capability.cpp./..//./net.cpp
-- Configuring done
CMake Error at test/CMakeLists.txt:21 (add_executable):
Cannot find source file:
./.././FixedHash.cpp
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx
-- Build files have been written to: /home/user/log
ETHBUILD - ERROR: cmake configure phase for repository "libweb3core" failed.
Editar:
Después de instalar todas las dependencias y seguir los pasos de compilación:
$ cd webthree-umbrella
$ mkdir build && cd build
$ cmake .. -DCMAKE_PREFIX_PATH=/home/user/solidityDependencies/Qt/5.6/gcc_64
cmake falla con los siguientes errores:
------------------------------------------------------------------------
-- Configuring ethereum
------------------------------------------------------------------------
-- CMake Version 3.0.2
-- CMAKE_BUILD_TYPE Build type RelWithDebInfo
-- TARGET_PLATFORM Target platform Linux
--------------------------------------------------------------- features
-- Hardware identification support
-- HTTP Request support
-- VMTRACE VM execution tracing OFF
-- PROFILING Profiling support OFF
-- FATDB Full database exploring ON
-- ROCKSDB Prefer rocksdb to leveldb OFF
-- OLYMPIC Default to the Olympic network OFF
-- PARANOID - OFF
------------------------------------------------------------- components
-- GUI Build GUI components ON
-- TESTS Build tests ON
-- ETHASHCL Build OpenCL components ON
-- EVMJIT Build LLVM-based JIT EVM OFF
-- SOLIDITY Build Solidity ON
------------------------------------------------------------------------
-- Looking for CL_VERSION_2_0
-- Looking for CL_VERSION_2_0 - not found
-- Looking for CL_VERSION_1_2
-- Looking for CL_VERSION_1_2 - found
-- Found OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 (found version "1.2")
-- OpenCL headers: /usr/include
-- OpenCL lib : /usr/lib/x86_64-linux-gnu/libOpenCL.so.1
-- Cpuid headers: CPUID_INCLUDE_DIR-NOTFOUND
-- Cpuid lib : CPUID_LIBRARY-NOTFOUND
-- Found json_rpc_cpp: /usr/local/include (found suitable version "0.6.0", minimum required is "0.4")
-- json-rpc-cpp headers: /usr/local/include
-- json-rpc-cpp lib : /usr/local/lib/libjsonrpccpp-common.so;/usr/local/lib/libjsonrpccpp-server.so;/usr/local/lib/libjsonrpccpp-client.so
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so
-- curl headers: /usr/include
-- curl lib : /usr/lib/x86_64-linux-gnu/libcurl.so
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./createRandomTest.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./fuzzHelper.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./commonjs.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./icap.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./dagger.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./keymanager.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./difficulty.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./Transaction.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./GasPricer.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./State.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./TransactionQueue.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./BlockChainInsert.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./BlockChainTests.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./BlockChain.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./BlockQueue.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./Genesis.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./StateOriginal.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./AccountDiff.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./Block.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./TransactionTests.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./ClientBase.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./crypto.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./vm.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./natspec.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
CMake Error at libethereum/test/CMakeLists.txt:26 (file):
file STRINGS file
"/home/user/webthree-umbrella/libethereum/test/./..//./boost.cpp"
cannot be read.
CMake Error at libethereum/test/CMakeLists.txt:34 (add_test):
add_test given test NAME ""RandomTestCreationSuite"/&createRandomTest"
which already exists in this directory.
Editar:
No construir los casos de prueba; ejecutando cmake de la siguiente manera:
$ cd webthree-umbrella
$ mkdir build && cd build
$ cmake .. -DTESTS=0 -DCMAKE_PREFIX_PATH=/path/to/Qt/5.4/gcc_64
produce la siguiente salida:
/home/user/webthree-umbrella/libethereum/libethash/internal.c:244:49: error: array subscript is above array bounds [-Werror=array-bounds]
reduction = reduction * FNV_PRIME ^ mix->words[w + 1];
^
/home/user/webthree-umbrella/libethereum/libethash/internal.c:245:49: error: array subscript is above array bounds [-Werror=array-bounds]
reduction = reduction * FNV_PRIME ^ mix->words[w + 2];
^
/home/user/webthree-umbrella/libethereum/libethash/internal.c:246:49: error: array subscript is above array bounds [-Werror=array-bounds]
reduction = reduction * FNV_PRIME ^ mix->words[w + 3];
^
cc1: all warnings being treated as errors
libethereum/libethash/CMakeFiles/ethash.dir/build.make:77: recipe for target 'libethereum/libethash/CMakeFiles/ethash.dir/internal.c.o' failed
make[2]: *** [libethereum/libethash/CMakeFiles/ethash.dir/internal.c.o] Error 1
CMakeFiles/Makefile2:810: recipe for target 'libethereum/libethash/CMakeFiles/ethash.dir/all' failed
make[1]: *** [libethereum/libethash/CMakeFiles/ethash.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2
no puede usar los repositorios de ubuntu en debian, porque algunas bibliotecas, especialmente libcrypto ++ -dev, son incompatibles, tendrá que compilar el proyecto usted mismo, esta respuesta puede ayudar
mi respuesta aquí, mientras se trata de Mix IDE, explica específicamente qué problemas puede encontrar al compilar toda esa rama de c ++ en Debian y también puede ser útil
¡Logrado!
Mi manual está aquí:
https://gist.github.com/drandreaskrueger/912e704cfc86fd757277a5fd9bd372d4
Me encontré con problemas similares en Debian, luché con él por un tiempo y luego me di por vencido e instalé una máquina virtual Ubuntu en VirtualBox.
Funciona genial. (Advertencia: solo ejecuto una red privada, así que no puedo comentar lo doloroso que es sincronizar la cadena de bloques).
eur10
Sebí
eur10
Sebí
eur10
cmake -DGUI=0
en su caso para evitar quedar atrapado por las dependencias de Qt que no maneja Debian, a menos que quiera instalar Qt manualmente, lo cual explico también en mi respuesta de Mix;)Sebí
eur10
cmake .. -DCMAKE_PREFIX_PATH=/home/YOURUSER/Qt/5.4/gcc_64
o donde hayas instalado Qt5.4Sebí
eur10
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/home/MyUSER/Qt/5.4/gcc_64
una vez en la carpeta de compilación. No creo que el indicador de depuración haga una diferencia, aunque estoy sorprendido de que tengas cmake 3.0.2, estoy en 3.5.2, ¿así que tal vez actualice eso?Sebí
eur10