-
-
Save drandreaskrueger/912e704cfc86fd757277a5fd9bd372d4 to your computer and use it in GitHub Desktop.
# | |
# Ethereum and eth-dev-tools: Debian 8 | |
# | |
# rev 9 | |
# | |
# started midsummer 2016-06-21 Andreas Krueger | |
# https://github.com/drandreaskrueger | |
# https://twitter.com/drandreaskruger | |
# please contact me with improvements, thanks. | |
# | |
# home of this manual: | |
# https://gist.github.com/drandreaskrueger/912e704cfc86fd757277a5fd9bd372d4 | |
# | |
# inspired by | |
# http://ethereum.stackexchange.com/a/1450/2937 | |
# http://ethereum.stackexchange.com/a/2220/2937 | |
# and | |
# http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/building-from-source/linux-debian.html#debian-jessie-8-5 | |
# but that took long to compile llvm, so I took this route: | |
# | |
# these I had installed earlier, perhaps also necessary: | |
# sudo apt-get -y install unzip cmake libminiupnpc-dev gcc g++ | |
# cmake 3.5.2: | |
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz | |
tar -xf cmake-3.5.2.tar.gz | |
cd cmake-3.5.2/ | |
cmake . | |
make -j 3 | |
sudo make install | |
cmake --version | |
source ~/.profile # or open new terminal | |
cmake --version | |
# cryptopp: | |
mkdir cryptopp && cd cryptopp | |
wget https://www.cryptopp.com/cryptopp563.zip | |
unzip -a cryptopp563.zip | |
make static dynamic cryptest.exe | |
# testing installation | |
./cryptest.exe v | |
./cryptest.exe tv | |
# install cryptopp | |
make libcryptopp.a libcryptopp.so cryptest.exe | |
sudo make install PREFIX=/usr/local | |
# json-rpc-cpp | |
sudo apt-get -y install opencl-dev libcurl4-openssl-dev | |
sudo apt-get source libmicrohttpd-dev | |
sudo apt-get -y install libargtable2-dev libmicrohttpd-dev | |
git clone git://github.com/cinemast/libjson-rpc-cpp.git | |
cd libjson-rpc-cpp && mkdir -p build && cd build | |
cmake .. | |
make -j 3 | |
sudo make install | |
sudo ldconfig | |
cd ../.. | |
# Dependencies ... | |
# missing libjson-rpc-cpp-dev (see above) | |
# missing libqt5webengine5-dev (see Qt below) | |
# and llvm-3.5-dev instead of llvm-3.7-dev | |
# so: | |
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 libmicrohttpd-dev libjsoncpp-dev libargtable2-dev llvm-3.5-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev ocl-icd-dev libv8-dev libz-dev | |
# get Qt 5.4 | |
# https://www.qt.io/download-open-source/ | |
chmod 700 ./qt-unified-linux-x64-2.0.3-1-online.run | |
./qt-unified-linux-x64-2.0.3-1-online.run | |
# SKIP the personal questions. | |
# version 5.4! Qt 5.4 and Tools | |
# I installed in /home/andreas/dev/Qt/ | |
sudo sh -c 'echo "/home/andreas/dev/Qt/5.4/gcc_64/lib/" > /etc/ld.so.conf.d/Qt.conf' | |
sudo ldconfig | |
# finally, ethereum & friends: | |
git clone --recursive https://github.com/ethereum/webthree-umbrella | |
cd webthree-umbrella | |
mkdir build && cd build | |
cmake .. -DCMAKE_PREFIX_PATH=/home/andreas/dev/Qt/5.4/gcc_64 | |
make -j 3 | |
sudo make install | |
sudo ldconfig | |
cd ../.. | |
# installed: | |
eth | |
mix-ide # warning: "slated for death" (B.S.). See https://blog.ethereum.org/2016/05/04/c-dev-update-announcing-remix/ | |
alethzero | |
ethrpctest --help | |
ethkey --help | less | |
ethminer --help | less | |
solc | less | |
ethvm | |
lllc --help | |
rlp --help | |
bench | |
# mist wallet | |
# https://github.com/ethereum/mist/releases | |
mkdir mist && cd mist | |
wget https://github.com/ethereum/mist/releases/download/0.7.5/Ethereum-Wallet-linux64-0-7-5.zip | |
unzip Ethereum-Wallet-linux64-0-7-5.zip | |
cd Ethereum-Wallet-linux64-0-7-5/ | |
less README.txt | |
./Ethereum-Wallet | |
# | |
# donations welcome: [btc] 153vJTNuk1AMch4Lj6r45r5y5hcTKeSCpG | |
# [eth] 0xFC0628D33661661e2438059500722680d6B1DA1D | |
# |
There is a problem with libjson-rpc-cpp which has a compilation error:
[ 18%] Building CXX object src/jsonrpccpp/CMakeFiles/jsonrpcserver.dir/server/connectors/httpserver.cpp.o
/home/ed/ethmine/gist/cmake-3.5.2/cryptopp/libjson-rpc-cpp/src/jsonrpccpp/server/connectors/httpserver.cpp: In member function ‘virtual bool jsonrpc::HttpServer::StartListening()’:
/home/ed/ethmine/gist/cmake-3.5.2/cryptopp/libjson-rpc-cpp/src/jsonrpccpp/server/connectors/httpserver.cpp:58:25: error: ‘MHD_USE_EPOLL_INTERNALLY’ was not declared in this scope
mhd_flags = MHD_USE_EPOLL_INTERNALLY;
This was fixed in a branch but has not gone to the master yet.
If you change line 55 to:
git clone -b develop git://github.com/cinemast/libjson-rpc-cpp.git
to clone the branch rather than the master this should fix that problem
In LMDE2 x64 many of dependences failed to install hence not available, some packages failed to build.
https://github.com/ethereum/webthree-umbrella repo is obsolete.
For who will try next, I spend some hours to try to fix this, and seems this does not worth it.
Please do not spend time on this..
😆 I was about to spend time on this ... thanks @brawaga
Wow, I never realized I actually earned some 5$ donation, and probably with this. Thanks, much appreciated.
json-rpc-cpp failed for me in Debian 9.3 Stretch
I solved it by running this...
You are an angel in my time of need. (well, maybe not need, but certainly want)
I will definitely mark your key down for a donation because you spared me a sleepless night. (dont have ether yet, but premsumably will soon :P )
One question: in the paragraph marked: # installed: (ether, mix-ide) do I need to install those manually, or have they already been installed by this point? What is this paragraph meant to convey?
Thank you so much again!