이 글은 이오스 깃허브(https://github.com/EOSIO/eos)를 참조해서 작성되었습니다.
- 사전 준비물 : 8GB 이상의 물리 메모리를 가진 Ubuntu 서버, AWS 서버를 사용하는 경우 메모리가 부담된다면, 가상 메모리를 충분히 확보하고 /home/ubuntu/eos/scripts/eosio_build_ubuntu.sh 에서 메모리 조건을 삭제하면 설치는 가능합니다.
- 반드시 확인해야 할 것 : 빌드는 가능한 상태인가? 이오스는 실시간으로 작업 중인 프로젝트이기 때문에 수시로 빌드가 깨지는 상황이 발생합니다. 아무 생각 없이 파일을 받았는데 알고보니 빌드가 깨져있던 상태였다면 영문도 모른 채 제대로 빌드가 안되는 상황이 발생합니다. 다음 주소에서 빌드가 정상적으로 되어 있는지 꼭 확인하세요. (https://jenkins.eos.io/job/eosio/job/master/)
- Ubuntu dependency 설치하기 : 처음으로 해야 할 일은 dependency 설치입니다. dependency가 깨지는 경우가 많아서 오류 상황마다 대처가 필요합니다.
Install the development toolkit:
sudo apt-get update
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt-get install clang-4.0 lldb-4.0 libclang-4.0-dev cmake make \
libbz2-dev libssl-dev libgmp3-dev \
autotools-dev build-essential \
libbz2-dev libicu-dev python-dev \
autoconf libtool git mongodb
Install Boost 1.66:
cd ~
wget -c 'https://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.tar.bz2/download' -O boost_1.66.0.tar.bz2
tar xjf boost_1.66.0.tar.bz2
cd boost_1_66_0/
echo "export BOOST_ROOT=$HOME/boost_1_66_0" >> ~/.bash_profile
source ~/.bash_profile
./bootstrap.sh "--prefix=$BOOST_ROOT"
./b2 install
source ~/.bash_profile
Install mongo-cxx-driver (release/stable):
cd ~
curl -LO https://github.com/mongodb/mongo-c-driver/releases/download/1.9.3/mongo-c-driver-1.9.3.tar.gz
tar xf mongo-c-driver-1.9.3.tar.gz
cd mongo-c-driver-1.9.3
./configure --enable-static --enable-ssl=openssl --disable-automatic-init-and-cleanup --prefix=/usr/local
make -j$( nproc )
sudo make install
git clone https://github.com/mongodb/mongo-cxx-driver.git --branch releases/stable --depth 1
cd mongo-cxx-driver/build
cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j$( nproc )
Install secp256k1-zkp (Cryptonomex branch):
cd ~
git clone https://github.com/cryptonomex/secp256k1-zkp.git
cd secp256k1-zkp
./autogen.sh
./configure
make
sudo make install
By default LLVM and clang do not include the WASM build target, so you will have to build it yourself:
mkdir ~/wasm-compiler
cd ~/wasm-compiler
git clone --depth 1 --single-branch --branch release_40 https://github.com/llvm-mirror/llvm.git
cd llvm/tools
git clone --depth 1 --single-branch --branch release_40 https://github.com/llvm-mirror/clang.git
cd ..
mkdir build
cd build
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=.. -DLLVM_TARGETS_TO_BUILD= -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly -DCMAKE_BUILD_TYPE=Release ../
make -j4 install
- EOS 프로젝트 다운로드 & 설치 : 설치 도중에 dependency 설치가 필요하다고 하면 YES를 선택해서 설치하거나, 설치 자체가 실패하면 별도로 dependency를 찾아서 설치해야 합니다.
git clone https://github.com/eosio/eos --recursive
cd eos
./eosio_build.sh ubuntu
- 쉘이 다 돌고 나면 간단한 validation test도 가능합니다.
cd build
make test
- 설치의 마지막만 남았습니다.
If not already in the build
folder:
cd build
Run make install
.
sudo make install