Linux
AWS
Blockchain
NEM

catapult-server 構築奮闘記(未完成)

速報

こちらのdockerファイルでビルドが通ったとのことです!
https://github.com/daoka/catapult-docker

以下の記事はお忘れください。

catapult-server をインストールするための奮闘記(未完成)
AWS EC2 amazon linuxターゲットです。
依存ライブラリのインストールは終了しています。
パスの通し方がよく解りません。どなたか!

https://github.com/nemtech/catapult-server

思い出しながら書いてるので順序が逆の場所があるかも。
あとcdは省略してる場所があるので要注意。完成版にはちゃんと書きます。

お約束

sudo yum update -y
sudo yum install gcc -y
sudo yum install gcc-c++ -y
sudo yum install git

zlib

sudo yum install zlib

libarchive

sudo yum install libarchive libarchive-devel

jsoncpp

sudo yum install cmake

(jsoncppを通すためにあえて古いcmakeをインストールする。少々トリッキー)

wget https://github.com/open-source-parsers/jsoncpp/archive/1.7.5.tar.gz
tar zxvf 1.7.5.tar.gz
 cd jsoncpp-1.7.5/
mkdir build
cd build
cmake ..

cmake

(yumで入るcmakeではmongodbで詰まるので最新のcmakeを入れる)

wget https://cmake.org/files/v3.6/cmake-3.6.1.tar.gz
(最新を取ったほうがいいかも https://cmake.org/download/)
tar zxvf cmake-3.6.1.tar.gz
cd cmake-3.6.1
$ ./bootstrap --prefix=/usr \
        --system-libs \
        --mandir=/share/man \
        --docdir=/share/doc/cmake-3.6.1
make 
sudo make install

参考:Amazon Linuxに最新のclangをインストールする - Qiita

curl

sudo yum install curl
sudo yum install curl-devel

(sudo yum install curl-devel xz-devel expat-devel -y) いらんかも

python3

sudo yum install python36*
sudo update-alternatives --config python

[2] enter でpython3.6に切り替える

boost

sudo yum install boost

gtest

sudo yum install gtest

mongodb

sudo vi /etc/yum.repos.d/mongodb-org-3.6.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

sudo yum install -y mongodb-org

参考:Install MongoDB Community Edition on Amazon Linux — MongoDB Manual 3.6

libbson

wget https://github.com/mongodb/libbson/releases/download/1.9.5/libbson-1.9.5.tar.gz
./configure
make 
sudo make install

mongo-c-driver

(これがないとmongo-cxx-driverが入らない)

git clone --depth 1 https://github.com/mongodb/mongo-c-driver.git
cmake .
make
sudo make install

参考:https://github.com/mongodb/mongo-c-driver/

mongo-cxx-driver

git clone https://github.com/mongodb/mongo-cxx-driver.git     --branch releases/stable --depth 1
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..

sudo make EP_mnmlstc_core
make 
sudo make install 

参考:Installing the mongocxx driver

zmq

git clone https://github.com/zeromq/libzmq
sudo yum install autogen
sudo yum install libtool

./autogen.sh && ./configure && make -j 4
make check
sudo make install
sudo ldconfig

rocksdb

(makeが超遅いので要注意 jオプションとか要検討)

git clone --depth 1 https://github.com/facebook/rocksdb.git
cd rocksdb
mkdir build
cd build
cmake ..
make
sudo make install