# Setup Indy SDK build environment for RHEL based distro (Amazon Linux 2017.03) 1. Install Rust and rustup (https://www.rust-lang.org/install.html). 1. Install required native libraries and utilities available in repos: ``` yum clean all yum upgrade -y yum groupinstall -y "Development Tools" yum install -y \ wget \ cmake \ pkgconfig \ openssl-devel \ sqlite-devel ``` 1. Build and install modern version of libsodium from sources: ``` cd /tmp curl https://download.libsodium.org/libsodium/releases/libsodium-1.0.12.tar.gz | tar -xz cd /tmp/libsodium-1.0.12 ./configure make make install rm -rf /tmp/libsodium-1.0.12 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ``` 1. Build and install modern version of libzmq from sources: ``` cd /tmp wget https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz tar xfz zeromq-4.2.2.tar.gz && rm zeromq-4.2.2.tar.gz cd /tmp/zeromq-4.2.2 ./configure make make install rm -rf /tmp/zeromq-4.2.2 ``` 1. Checkout and build the library: ``` git checkout https://github.com/hyperledger/indy-sdk.git cd ./indy-sdk cargo build ``` 1. Run integration tests: * Start local nodes pool on `10.0.0.2:9701-9708` with Docker: ``` docker network create --subnet 10.0.0.0/8 pool_network docker build -f ci/sovrin-pool.dockerfile -t sovrin_pool . docker run -d --ip="10.0.0.2" --net=pool_network sovrin_pool ``` * Run tests ``` RUST_TEST_THREADS=1 cargo test ``` See [ci/amazon.dockerfile](https://github.com/hyperledger/indy-sdk/tree/master/ci/amazon.dockerfile) for example of Amazon Linux based environment creation in Docker.