ソースからクライアントをインストールする 概要 cpp-ethereum コードベースは複数の Git リポジトリに分散されており、ライブラリは webthree-umbrella リポジトリの下のサブモジュールとしてグループ化されています。
プラットフォーム固有のアーキテクチャ ファイルを生成するために通常の CMake ビルド システムを使用します。つまり、どの OS を使用していてもワークフローは非常に似ています。
コンパイルツールと外部パッケージをインストールします(これらはプラットフォームに依存しません)
webthree-umbrella gitリポジトリからソースコードをクローンする
CMake を実行してコンパイル ファイル (makefile、Visual Studio ソリューションなど) を生成します。
コンパイル
オペレーティングシステム固有のインストール手順 Linux のビルドに関する注意事項 - ソースからビルドし、VMJIT やその他の機能を無効にすることで、クライアントを 32 ビット Ubuntu で動作させることも可能です。このようなサポートを追加するためのプル リクエストは受け付けますが、Ubuntu 32 ビット アーキテクチャ専用の開発サポートに時間を費やすつもりはありません。
Linux にはディストリビューション固有のパッケージング システムの手順を示すスライドショーがあり、これはソースからビルドを開始する前に最初に実行する必要があることです。次のセクションでは、これらの手順を説明します。異なるディストリビューションおよびヒットバージョンを使用している場合は、お知らせください。
リポジトリをクローンする ソース コードをクローンするには、次のコマンドを実行します。
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
依存関係をインストールする(ディストリビューション固有) Ubuntuの依存関係をインストールする Ubuntu Trusty Tahr (14.04) の手順:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 sudo apt-add-repository ppa:george-edison55/cmake-3.x
sudo apt-get -y アップデート
sudo apt-get -y 言語パック en ベースをインストールします
sudo dpkg-ロケールを再設定する
sudo apt-get -y ソフトウェアプロパティ共通をインストール
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を追加 -
sudo apt-get -y アップデート
sudo apt-get -y 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 アップデート
sudo apt-get -y アップグレード
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 libjson-rpc-cpp-dev をインストールします
sudo apt-get -y インストール qml-module-qtquick-controls qml-module-qtwebengine
Ubuntu Utopic Unicorn (14.10) の手順:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 sudo apt-get -y アップデート
sudo apt-get -y 言語パック en ベースをインストールします
sudo dpkg-ロケールを再設定する
sudo apt-get -y ソフトウェアプロパティ共通をインストール
sudo add-apt-repository "deb http://llvm.org/apt/utopic/ llvm-toolchain-utopic-3.7 main"
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-keyを追加 -
sudo apt-get -y アップデート
sudo apt-get -y 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 アップデート
sudo apt-get -y アップグレード
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 libjson-rpc-cpp-dev をインストールします
sudo apt-get -y インストール qml-module-qtquick-controls qml-module-qtwebengine
Ubuntu Vivid Vervet (15.04) の手順:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 sudo apt-get -y アップデート
sudo apt-get -y 言語パック en ベースをインストールします
sudo dpkg-ロケールを再設定する
sudo apt-get -y ソフトウェアプロパティ共通をインストール
sudo add-apt-repository "deb http://llvm.org/apt/vivid/ llvm-toolchain-vivid-3.7 main"
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-keyを追加 -
sudo apt-get -y アップデート
sudo apt-get -y 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 アップデート
sudo apt-get -y アップグレード
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 libjson-rpc-cpp-dev をインストールします
sudo apt-get -y インストール qml-module-qtquick-controls qml-module-qtwebengine
Ubuntu WilyWerewolf (15.10) の手順:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 sudo apt-get -y アップデート
sudo apt-get -y 言語パック en ベースをインストールします
sudo dpkg-ロケールを再設定する
sudo apt-get -y ソフトウェアプロパティ共通をインストール
sudo add-apt-repository "deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.7 main"
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-keyを追加 -
sudo apt-get -y アップデート
sudo apt-get -y 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 アップデート
sudo apt-get -y アップグレード
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 libjsonrpccpp-dev をインストールします
sudo apt-get -y インストール qml-module-qtquick-controls qml-module-qtwebengine
Ubuntu Xenial Xerus (16.04) 手順:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 sudo apt-get -y アップデート
sudo apt-get -y 言語パック en ベースをインストールします
sudo dpkg-ロケールを再設定する
sudo apt-get -y ソフトウェアプロパティ共通をインストール
sudo apt-get -y 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 アップデート
sudo apt-get -y アップグレード
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 libjsonrpccpp-dev をインストールします
sudo apt-get -y インストール qml-module-qtquick-controls qml-module-qtwebengine \
qml-module-qtquick-privatewidgets qml-module-qtquick-dialogs \
qml-module-qt-labs-設定 qml-module-qtgraphicaleffects
Fedora の依存関係のインストール Fedora 20 の手順:
1
2
3
4
5 yum インストール git automake autoconf libtool cmake gcc gcc-c++ xkeyboard-config \
leveldb-devel boost-devel gmp-devel cryptopp-devel miniupnpc-devel \
qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtquick1-devel qt5-qtwebkit-devel \
mesa-dri-drivers snappy-devel ncurses-devel readline-devel curl-devel \
Python 開発
Fedora 21 の手順:
1
2
3
4
5 yum インストール git automake autoconf libtool cmake gcc gcc-c++ xkeyboard-config \
leveldb-devel boost-devel gmp-devel cryptopp-devel miniupnpc-devel \
qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtquick1-devel qt5-qtwebkit-devel \
mesa-dri-drivers snappy-devel ncurses-devel readline-devel curl-devel \
python-devel jsoncpp-devel argtable-devel
https://github.com/ethereum/cpp-ethereum/issues/617 に従って、github から json-rpc をビルドします。
1
2
3
4
5
6
7
8 git クローン https://github.com/cinemast/libjson-rpc-cpp
libjson-rpc-cpp を CD します
git チェックアウト tags/v0.3.2
mkdir -p ビルド
CDビルド
cmake .. && メイク
sudo インストール
sudo ldconfig
Fedora 22 Fedora 22 には、インストールされているものよりも多くの依存関係がある可能性があります。
1
2
3
4 dnf インストール git automake autoconf libtool cmake gcc gcc-c++ xkeyboard-config \
leveldb-devel boost-devel gmp-devel cryptopp-devel miniupnpc-devel \
mesa-dri-drivers snappy-devel ncurses-devel readline-devel curl-devel \
python-devel jsoncpp-devel argtable-devel
gcc 4.9 バージョンをインストールしてください。 Fedora 22 には異なるコンパイラ (CC v5.3) が付属しています。 webthreeumbrella をコンパイルできなかったので、SRC から gcc 4.9 バージョンをインストールしました。
/usr/local に gcc4.9 がインストールされていることを確認してください。私は /home/app/gcc49 にインストールしました。gcc のコンパイル方法については、Google で手順を読むこともできます。その後、各 cmake の前に、次のように gcc4.9 を使用して webthree-umbrella に必要なすべてのものをコンパイルする必要があります。
1
2 エクスポート CXX=/home/app/gcc49/bin/g++
エクスポート CC=/home/app/gcc49/bin/gcc
これにより、リリース F22 に付属するものではなく、gcc4.9 を使用してコンパイルすることになります。ディストリビューションに付属しているコンパイラをアンインストールすることはお勧めしません。シンボリックリンクを操作することもできます。
以下を使用して Fedora COPR REPO LLVM3.7 からインストールします。
1
2 dnf copr を有効にする alonid/llvm-3.7
dnf インストール llvm-3.7 llvm-3.7-devel llvm-3.7-static llvm-3.7-libs
Fedora 22 には標準リポジトリの llvm-3.5 が付属していたため、これを実行する必要がありました。他にも解決策はあるかもしれませんが、私にとってはこれが有効です。 SRC https://github.com/weidai11/cryptoppCRYPTOPP_5_6_2 から CryptoPP をインストールします:
1
2
3
4
5
6
7
8
9
10 gitクローン https://github.com/weidai11/cryptopp
cd クリプトップ
git チェックアウトリリース/CRYPTOPP_5_6_2
mkdir ビルド
CDビルド
export CXX=/home/app/gcc49/bin/g++ <- 必ずgcc4.9でコンパイルしてください
export CC=/home/app/gcc49/bin/gcc <- 必ずgcc4.9でコンパイルしてください
.. のcmakeを実行します。
作る
インストールする
COPR「dnf copr enable @kdesig/Qt5」から QT5 をインストールします。新しい QT5 バージョン:
これにより、COPR リポジトリに QT5 バージョン 5.6.0 がインストールされます。他のユーザーのパッケージはテストしていません。 https://github.com/qtproject/qtwebengine から qtwebengine をインストールします。バージョン5.6.0をインストールしました。他のものも機能する可能性があります。探してみてください:D
1
2
3
4
5
6 git クローン https://github.com/qtproject/qtwebengine
cd qtwebengine
git チェックアウトリリース/v5.6.0
qmake-qt5 <- 他のディストリビューションでは単に qmake と呼ばれています。Fedora 22 では qmake-qt5 と呼ばれます。
作る
インストールする
github から json-rpc をインストールします https://github.com/ethereum/cpp-ethereum/issues/617%EF%BC%9A
1
2
3
4
5
6
7
8
9
10 git クローン https://github.com/cinemast/libjson-rpc-cpp
libjson-rpc-cpp を CD します
git チェックアウト tags/v0.4.2
mkdir -p ビルド
CDビルド
export CXX=/home/app/gcc49/bin/g++ <- 必ずgcc4.9でコンパイルしてください
export CC=/home/app/gcc49/bin/gcc <- 必ずgcc4.9でコンパイルしてください
cmake .. && メイク
sudo インストール
sudo ldconfig
「jsonrpcstub」と入力して、コンソールで jsonrpcstub が使用可能かどうかを確認し、応答するかどうかを確認してください。答えが引数または slt なしの場合、動作はしていますが、ファイルを取得しなかった場合は、ファイル blabla の場所に応じて、不足している部分を libs dir /usr/local/lib64 または usr/local/lib にシンボリック リンクする必要があります。 「updatedb」で検索し、次に「locate blabla.so」で検索してみてください。
ここでコンパイルを試みると、動作するはずです。動作しない場合は、そのような emplace ファイルが存在しないか、または何らかのパックが欠落しているためにシンボリック リンクが欠落しています。「dnf search packname 」または「dnf list packname 」のように dnf を使用してそれらを見つけてみてください。私が言いたいのは、これは 5 分間の Web 3 部構成のコンピレーションではないということです。Tflux99 をお楽しみください。
OpenSUSE の依存関係のインストール これは、OpenSUSE で最新の webthreeumbrella を構築するために必要な依存関係を取得する方法です。これは Leap 42.1 で実行されましたが、Tumbleweed および 13.x でも同等のデータ パックが利用できるはずです。メインリポジトリによって提供される最初の依存関係:
1
2
3
4
5
6
7 git の zypper automake autoconf libtool cmake gcc gcc-c++ \
xkeyboard-config レベルdb-devel boost-devel gmp-devel \
cryptopp-devel libminiupnpc-devel libqt5-qtbase-common-devel \
libqt5-qtdeclarative-devel libQTWebKit-devel libqt5-qtwebengine-devel \
libQt5Concurrent-devel Mesa ncurses-devel readline-devel libcurl-devel \
llvm llvm-clang llvm-clang-devel llvm-devel libLLVM binutils \
libmicrohttp-devel jsoncpp-devel opencl-headers-1.2 zlib-devel
汎用 libOpenCL1 を使用することは可能ですが、AMD ドライバー リポジトリ fglrx64_opencl_SUSE421 の AMD 固有のパッケージでのみテストしました。
これらのパッケージは標準リポジトリにはありませんが、OpenSUSE パッケージ検索と YaST 1 クリック インストールを使用して見つけることができます。
libargtable2-開発
libv8-3
v8-開発
OpenSUSE の依存関係をインストールする Arch Linux で webthree-umbrella をコンパイルするには、公式リポジトリと Arch User Repository (AUR) からの依存関係が必要です。公式リポジトリからインストールするには、pacman を使用します。 AUR からパッケージをインストールするには、多くの AUR ヘルパーが利用できます。このガイドでは、AUR ヘルパー yaourt が使用されます。
依存関係をインストールする 1
2
3 # 公式リポジトリから sudo pacman -Sy git base-devel cmake boost crypto++ leveldb llvm miniupnpc
libcl opencl-headers libmicrohttpd qt5-base qt5-webengine
# AUR から yaourt -Sy libjson-rpc-cpp
ソース コードのコンパイル この手順では、Ethereum のインストール フォルダーを指定できますが、フォルダーの指定はオプションです。指定しない場合、バイナリ フォルダーは作成フォルダーに配置されます。ただし、このガイドでは、Ethereum ファイルは /opt/eth の下にインストールされると想定しています。 /opt を使用する理由は、たとえば /usr にインストールした場合よりも、後で Ethereum フォルダーを削除するのが簡単になるためです。また、/opt は、手動でコンパイルされたプログラムなど、パッケージ システムによって管理されていないソフトウェアをインストールする場合にもよく使用されます。
1
2
3
4
5
6
7
8
9
10
11
12
13 # githubリポジトリをクローンした後、webthree-umbrellaフォルダに入る
cd ウェブスリーアンブレラ
# ビルドフォルダを作成し、そこに入る
mkdir -p ビルド && cd ビルド
# ビルドファイルを作成し、Ethereum のインストールフォルダを指定します
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/eth
# ソースコードをコンパイルする
作る
# あるいは、コンパイルスレッドの数を指定することも可能です
# たとえば 4 つのスレッドを使用するには、次のように make を実行します。
# -j 4 を実行します
# 結果のバイナリ、共有ライブラリ、ヘッダーファイルを /opt にインストールします
sudo インストール
コンパイルとインストールが成功すると、Ethereum バイナリは /opt/eth/bin に、共有ライブラリは /opt/eth/lib に、ヘッダー ファイルは /opt/eth/include に見つかります。
Ethereum ライブラリ パスの指定 Ethereum は /opt/eth にインストールされているため、バイナリを実行すると、Ethereum 共有ライブラリが見つからないためリンク エラーが発生します。これを修正するには、Ethereum 共有ライブラリを含むファイルを LD_LIBRARY_PATH 環境変数に追加する必要があります。
1
2
3
4 # ~/.bashrc を更新する
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/eth/lib" >> ~/.bashrc
# ~/.bashrc を再読み込み
ソース ~/.bashrc
Debianの依存関係をインストールする デビアン ジェシー (8.5)
警告: GUI アプリケーションは Debian では試されていません。したがって、GUIのないアプリケーションを作成するには、cmake .. -DGUI=0を使用します。
ステップ:
1
2
3
4 sudo apt-get -y gccをインストールします
sudo apt-get -y g++ をインストールします
sudo apt-get -y インストール 解凍
sudo apt-get -y cmakeをインストールします
cmake バージョン 3.5.2 がインストールされていることを確認してください。 apt-get で古いバージョンがインストールされている場合は、このリンクの指示に従ってソースからコンパイルする必要があります。
1
2
3
4 sudo apt-get -y libboost-all-dev をインストールします
sudo apt-get -y libgmp-dev をインストールします
sudo apt-get -y libjsoncpp-dev をインストールします
sudo apt-get -y libleveldb-dev をインストールします
cryptopp をインストールするには、以下を作成する必要があります。
1
2
3
4
5
6
7
8 mkdir ~/download
cd ~/ダウンロード
https://www.cryptopp.com/cryptopp563.zip をダウンロードしてください
mkdir 暗号pp
mv cryptopp563.zip 暗号pp
cd クリプト
解凍 -a cryptopp563.zip
静的動的 cryptest.exe を作成する
インストールをテストします。
結果を確認し、別のテストを実行します。
検証は成功しましたか?続く:
1
2 libcryptopp.a libcryptopp.so cryptest.exe を作成する
sudo インストール PREFIX=/usr/local
CryptoPPのインストールが完了しました!
1 sudo apt-get -y libminiupnpc-dev をインストールします
次に、ソースから LLVM ビルドをインストールします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 sudo apt-get -y ビルド必須をインストール
mkdir ~/download/llvm
cd ~/download/llvm
wget -c http://llvm.org/releases/3.8.0/llvm-3.8.0.src.tar.xz
wget -c http://llvm.org/releases/3.8.0/cfe-3.8.0.src.tar.xz
wget -c http://llvm.org/releases/3.8.0/compiler-rt-3.8.0.src.tar.xz
tar -xf llvm-3.8.0.src.tar.xz
tar -xf cfe-3.8.0.src.tar.xz
tar -xf コンパイラー rt-3.8.0.src.tar.xz
llvm-3.8.0 をビルドします。
mv cfe-3.8.0.src cfe
mv コンパイラ rt-3.8.0.src コンパイラ rt
mv cfe llvm-3.8.0/ツール
mv コンパイラ-rt llvm-3.8.0/プロジェクト/
mkdir ビルド
CDビルド
llvm 3.8.0 のビルド
作る
sudo インストール
sudo ldconfig
apt-getに戻る:
1
2 sudo apt-get -y で opencl-dev をインストールします
sudo apt-get -y libcurl4-openssl-dev をインストールします
ソースから json-rpc-cpp をインストールします。
1
2
3
4
5
6
7
8
9
10 sudo apt-get ソース libmicrohttpd-dev
sudo apt-get -y libargtable2-dev をインストールします
sudo apt-get -y libmicrohttpd-dev をインストールします
git クローン git://github.com/cinemast/libjson-rpc-cpp.git
mkdir -p libjson-rpc-cpp/ビルド
cd libjson-rpc-cpp/ビルド
メイク
作る
sudo インストール
sudo ldconfig
コマンドラインからのビルドは、依存関係 (残りのファイル) をインストールした後にのみ可能です。
1
2
3
4
5 mkdir build ビルド出力用のディレクトリを作成する
cd build そのディレクトリに切り替えます
cmake .. makefile を生成します。
make コマンドラインでmakefileを構築するには
make -j <number> (または) 複数のコアでmakefileを実行する
Windows 向けのビルド 当社は 64 ビット アーキテクチャのみをサポートしており、次の Windows バージョンでのみ動作します。
ウィンドウズ7
Windows 8/8.1
ウィンドウズ10
Windows Server 2012 R2
ソースからビルドし、VMJIT やその他の機能を無効にすることで、クライアントを 32 ビット Windows で動作させることも可能です。このようなサポートを追加するためのプル リクエストは受け付けますが、Windows 32 ビット アーキテクチャ専用のサポートの開発には時間をかけません。
まず、以下の依存関係をインストールする必要があります
ソフトウェア ノート Git for Windows Github からソースを取得するためのコマンドライン ツール CMake クロスプラットフォーム ビルド ファイル ジェネレーター Visual Studio 2015 C++ コンパイラと開発環境
ソースを取得する 次のコマンドを実行して、すべてのソース コードを含む git リポジトリをクローンします。
1 git clone --recursive https://github.com/ethereum/webthree-umbrella.git
外部依存関係を取得する CMake スクリプトを実行して、プロジェクトのビルドに必要なビルド済みの外部バイナリをダウンロードして開きます。
1 cmake -P webthree-helpers/deps/install_deps.cmake
次に、汎用 Visual Studio プロジェクト ファイルは次のコマンドを実行し、CMake を使用して Visual Studio ソリューション ファイルを生成します。
1
2
3 mkdir ビルド
CDビルド
cmake -G "Visual Studio 14 2015 Win64" ..
これにより、ビルド ディレクトリに cpp-ethereum.sln が作成されます。
ファイルをダブルクリックすると Visual Studio が起動します。 RelWithDebugInfo 構成を設定することをお勧めしますが、他の構成もすべて有効です。
あるいは、次のようにしてコマンドラインからこのプロジェクトをビルドすることもできます。
1 cmake --build を実行します。 --config RelWithDebInfo
OS X 向けのビルド 概要 – ドラゴンがやってくる! Homebrew は「ローリング リリース」パッケージ マネージャーであるため、OS X ビルドの破損を回避する方法はありません。つまり、すべての外部依存関係を Homebrew タップに追加するか、それらを git サブモジュールとしてアンブレラ プロジェクトに追加しない限り、飛行機は私たちの下を動き続けます。エンドユーザーの結果は、プロジェクトが確立された期間によって異なります。昨日ビルドしたときにはうまくいったかもしれませんが、友人が今日自分のマシンでビルドしても同じ結果が得られるという保証はありません。言うまでもなく、これは幸せな状況ではありません。
OS X ビルドの破損が発生した場合は、Github の問題をチェックして、問題がすでに報告されているかどうかを確認してください。もしそうなら、既存の問題の下にコメントしてください。同様の質問が見つからない場合は、OS X のバージョン、cpp-ethereum のバージョン、ハードウェア、その他関連すると思われる詳細を記載した新しい質問を作成してください。
gist.github.com または同様のサービス経由で詳細なログ ファイルを追加してください。
cpp-ethereum-development gitter チャネルは、私たちが集まって協力して問題を解決する場所です。
最新の 2 つの OS X バージョンのみをサポートしています。
OS X ヨセミテ (10.10)
OS X エルキャピタン (10.11)
cpp-ethereum コードベースは古いバージョンの OS X ではビルドされないため、サポートされていません。古いバージョンの OS X を使用している場合は、cpp-ethereum のビルドのためだけでなく、自分自身のセキュリティのためにも、最新バージョンにアップデートすることをお勧めします。
まず最初に、最新バージョンの Xcode がインストールされていることを確認してください。これには、Clang C++ コンパイラ、Xcode IDE、および OS X で C++ アプリケーションをビルドするために必要なその他の Apple 開発ツールが含まれます。Xcode を初めてインストールする場合、または新しいバージョンをインストールしたばかりの場合は、コマンド ライン ビルドを実行する前にライセンスに同意する必要があります。
1 sudo xcodebuild -license を受け入れる
GUI アプリケーション (AlethZero および Mix) を構築する場合は、OS X 上の Qt が X11 レイヤーを使用するため、XQuartz X11Window System をインストールする必要があります。
当社の OS X ビルドでは、外部依存関係をインストールするために Homebrew パッケージ マネージャーがインストールされている必要があります。
最初からやり直したい場合は、Homebre をアンインストールする方法は次のとおりです。
Homebreを使用して必要な外部依存関係をすべてインストールします
1
2
3
4 醸造アップデート
醸造アップグレード
brew インストール boost cmake cryptopp miniupnpc leveldb gmp jsoncpp libjson-rpc-cpp libmicrohttpd
brew をインストール homebrew/versions/llvm38
グラフィカル ユーザー インターフェイス アプリケーションを作成する方法は次のとおりです。
1 brew qt5 をインストール --d-bus
注 1: Qt5 の手順は、ほとんどのユーザーのマシンでは数時間かかります。これは、ソースからビルドされるデフォルト以外の設定を使用するためです。一時ディスク容量が約 20G 使用されるようです。気をつけて!注 2: Qt パッケージと Qt5 パッケージは Homebrew では共存できません。すでに Qt がインストールされている場合は、cpp-ethereum を正常にビルドする前にアンインストールする必要があります。
1 brew アンインストール --force qt
リポジトリをクローンする ソース コードをクローンするには、次のコマンドを実行します。
1 git clone --recursive https://github.com/ethereum/webthree-umbrella.git
Makefile を生成してコマンドラインでビルドすることも、X-Code プロジェクトを生成して IDE でビルドすることもできます。
プロジェクト ルートからのコマンド ライン ビルド:
1
2
3
4 mkdir ビルド
CDビルド
.. のcmakeを実行します。
make -j4 (またはCPUコアの数に応じて異なる値)
独自のビルドをインストールする 同じ Makefile を使用して、独自のビルドをマシンにグローバルにインストールすることもできます。
プロジェクト ルートから Xcode プロジェクトを生成します。
1
2
3 mkdirbuild_xc
cd build_xc
cmake -G Xcode ..
これにより、cpp-ethereum.xcodeproj という Xcode プロジェクト ファイルが生成され、X-Code で開いてビルド/デバッグ/実行できるようになります。
FreeBSD のビルド ノート - パッケージが FreeBSD のメイン ポートに組み込まれると、このガイドははるかに簡単になります。
ポートを手動でインストールする 一部の手順では、ポート ディレクトリを修正するために root 権限が必要です。
webthree-umbrella は libjson-rpc-cpp.shar に依存していますが、これもポート システムには存在しません。
まず、sharファイルをダウンロードし、それを「devel」セッションの下のportsディレクトリ(通常は/usr/ports/devel)に置く必要があります。
1 カール https://raw.githubusercontent.com/enriquefynn/webthree-umbrella-port/master/libjson-rpc-cpp.shar
ここで、次のようにスクリプトを実行します。
1
2 /usr/ports/devel に移動します
sh libjson-rpc-cpp.shar
これにより、libjson-rpc-cpp ポートが作成されます。ここで、webthree-umbrella ポートに対しても同じことを行う必要があります。webthree-umbrella ファイルを取得し、「net-p2p」ディレクトリの下にポートを作成する必要があります。
1
2 カール https://raw.githubusercontent.com/enriquefynn/webthree-umbrella-port/master/webthree-umbrella.cd /usr/ports/net-p2p
sh webthree-umbrella.shar
作成とインストール これで、webthree-umbrella ディレクトリに移動してポートをインストールできます。
1
2 cd /usr/ports/net-p2p/webthree-umbrella
クリーンなインストールを行う
Android 向けのビルド 現在、Android ビルドは動作していませんが、doublethinkco のロードマップには載っています。 Android は Linux カーネルを使用しますが、ARM Linux とクロスビルドするには異なるアプリケーション プログラミング インターフェースがあるため、特定のバイナリが必要になります。
ARM Linux ディストリビューションは GLIBC 実行ライブラリを使用し、Android は bionic を使用します。
iOS向けのビルド 現在、iOS ビルドは動作していませんが、doublethinkco のロードマップには載っています。 iOS は Darwin (BSD) をベースに ARM チップを使用した UNIX ライクなオペレーティング システムです。これは、異なる API を使用して ARM Linux とクロスビルドされているため、特定のバイナリが必要になります。
Raspberry Pi モデル A、B+、Zero、2、3 用に構築 EthEmbedded は、すべての Raspberry Mi モジュールのビルド スクリプトを管理します。これらは Github の Raspi-Eth-Install リポジトリにあります。これらのプラットフォーム向けにクロスビルドすることも可能かもしれません。
Odroid XU3/XU4 用ビルド EthEmbedded は、Odroid モジュールのビルド スクリプトを管理します。将来的にはさらに多くの Odroid デバイスのサポートが可能になります。これらは Github の OdroidXU3-Eth-Install リポジトリにあります。これらのプラットフォーム向けにクロスビルドすることも可能かもしれません。
BeagleBone Black 用ビルド EthEmbedded は、BBB のビルド スクリプトを Github の BBB-Eth-Install リポジトリで管理しています。このプラットフォーム向けにクロスビルドすることも可能かもしれません。
WandBoard用に構築 EthEmbedded は、WandBoard のビルド スクリプトを Github の WandBoard-Eth-Install リポジトリで管理しています。このプラットフォーム向けにクロスビルドすることも可能かもしれません。
ARM 向け Linux のビルド (クロスビルド) Doublethinkco は、Github の cpp-ethereum-cross リポジトリでホストされている Docker ベースのクロスビルド インフラストラクチャを管理しています。
執筆時点では、これらのクロスビルド バイナリは次のデバイスで正常に使用されています。
Jolla フォン (Sailfish OS)
Nexus 5 (セイルフィッシュ OS)
Meizu MX4 Ubuntu エディション (Ubuntu フォン)
Raspberry Pi モデル B+、Rpi2 (Raspbian)
Odroid XU3 (Ubuntu MATE)
BeagleBone ブラック (Debian)
ワンドボードクアッド (Debian)
CHIP (Debian)
やるべきことは次のとおりです:
ティゼン
アンドロイド
iOS
次の記事では、「Ethereum Serial (IX): Ethereum C++ クライアントのインストールとカスタマイズ (III)」を紹介します。
「Ethereum Homestead ドキュメント」の翻訳と校正に協力してくれた Chaoxi チームの Azure と Bob に感謝します。