Solidity - anujajakhade/anuja GitHub Wiki

Building Ethereum Solidity

The instructions provided below specify the steps to build Apache Spark version v0.5.9 in Standalone Mode on Linux on IBM Z for the following distributions:

  • RHEL (7.4, 7.5, 7.6)
  • SLES (12 SP4, 15)
  • Ubuntu (16.04, 18.04, 19.04)

General Notes:

  • When following the steps below please use a standard permission user unless otherwise specified.

  • A directory /<source_root>/ will be referred to in these instructions, this is a temporary writeable directory anywhere you'd like to place it.

Step 1. Building Ethereum Solidity

2.1) Install the dependencies
export SOURCE_ROOT=/<source_root>/
  • RHEL (7.4, 7.5, 7.6)

     sudo yum groupinstall -y 'Development Tools' git wget tar gmp-devel which python python-devel
    
    • Cmake

         wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
         tar -xzf cmake-3.5.2.tar.gz
         cd cmake-3.5.2
         ./configure --prefix=/usr/local
         make && sudo make install
      
    • Boost

      wget https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
      tar -xvf boost_1_70_0.tar.gz
      cd boost_1_70_0
      bash bootstrap.sh
      ./b2
      ./b2 install
      sudo ln -s /home/test/boost_1_70_0/boost /usr/include/boost
      export BOOST_LIBRARYDIR=/home/test/boost_1_70_0/stage/lib/
      
  • Ubuntu (16.04, 18.04, 19.04)

     sudo apt-get update
     sudo apt-get install -y cmake make build-essential libgmp-dev python libboost-all-dev git wget tar
    
2.2) Build Z3
  • Download and build Z3

    git clone https://github.com/Z3Prover/z3.git
    cd z3/
    git checkout z3-4.8.4
    python scripts/mk_make.py
    sudo apt-get install -y python
    python scripts/mk_make.py
    cd build
    make
    sudo make install
    
2.2) Build Solidity
git clone https://github.com/ethereum/solidity.git
cd solidity/
git checkout v0.5.9
mkdir build
cd build
cmake ..
make
sudo make install

Step 3) Run the test cases

./test/cmdlineTests.sh                       #commandline tests
./scripts/soltest.sh --no-ipc --no-smt       #unit-tests

References

https://solidity.readthedocs.io/en/v0.5.9/contributing.html#running-the-compiler-tests