Merge pull request #629 from giact/develop

Updated build instructions for Ubuntu 16.04
This commit is contained in:
chriseth 2016-06-05 19:29:18 +02:00
commit 27e3781fcd

View File

@ -68,67 +68,75 @@ Set up Homebrew:
brew install llvm --HEAD --with-clang brew install llvm --HEAD --with-clang
brew install qt5 --with-d-bus # add --verbose if long waits with a stale screen drive you crazy as well brew install qt5 --with-d-bus # add --verbose if long waits with a stale screen drive you crazy as well
Ubuntu Ubuntu Trusty (14.04)
------ ---------------------
Below are the build instructions for the latest versions of Ubuntu. The best Below are the instructions to install the minimal dependencies required
supported platform as of December 2014 is Ubuntu 14.04, 64 bit, with at least 2 to compile Solidity on Ubuntu 14.04 (Trusty Tahr).
GB RAM. All our tests are done with this version. Community contributions for
other versions are welcome!
Install dependencies:
Before you can build the source, you need several tools and dependencies for the application to get started.
First, update your repositories. Not all packages are provided in the main
Ubuntu repository, those you'll get from the Ethereum PPA and the LLVM archive.
.. note:: .. note::
Ubuntu 14.04 users, you'll need the latest version of cmake. For this, use: These dependencies are not enough to compile the GUIs (Alethzero and Mix).
`sudo apt-add-repository ppa:george-edison55/cmake-3.x`
Now add all the rest:
.. code-block:: bash .. code-block:: bash
sudo apt-get -y install build-essential git cmake libgmp-dev libboost-all-dev \
libjsoncpp-dev libleveldb-dev libcurl4-openssl-dev libminiupnpc-dev \
libmicrohttpd-dev
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get -y update sudo apt-get -y update
sudo apt-get -y install language-pack-en-base sudo apt-get -y upgrade # this will update cmake to version 3.x
sudo dpkg-reconfigure locales sudo apt-get -y install libcryptopp-dev libjson-rpc-cpp-dev
sudo apt-get -y install software-properties-common
Ubuntu Xenial (16.04)
---------------------
Below are the instructions to install the minimal dependencies required
to compile Solidity on Ubuntu 16.04 (Xenial Xerus).
One of the dependencies (Crypto++ Library, with version >= 5.6.2) can be
installed either by adding the Ethereum PPA (Option 1) or by backporting
``libcrypto++`` from Ubuntu Development to Ubuntu Xenial (Option 2).
.. note::
These dependencies are not enough to compile the GUIs (Alethzero and Mix).
.. code-block:: bash
sudo apt-get -y install build-essential git cmake libgmp-dev libboost-all-dev \
libjsoncpp-dev libleveldb-dev libcurl4-openssl-dev libminiupnpc-dev \
libjsonrpccpp-dev libmicrohttpd-dev
# (Option 1) For those willing to add the Ethereum PPA:
sudo add-apt-repository -y ppa:ethereum/ethereum sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get -y update sudo apt-get -y update
sudo apt-get -y upgrade sudo apt-get -y upgrade
sudo apt-get -y install libcryptopp-dev
For Ubuntu 15.04 (Vivid Vervet) or older, use the following command to add the develop packages:
## (Option 2) For those willing to backport libcrypto++:
.. code-block:: bash #sudo apt-get -y install ubuntu-dev-tools
#sudo pbuilder create
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 libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libedit-dev libz-dev #mkdir ubuntu
#cd ubuntu
For Ubuntu 15.10 (Wily Werewolf) or newer, use the following command instead: #backportpackage --workdir=. --build --dont-sign libcrypto++
#sudo dpkg -i buildresult/libcrypto++6_*.deb buildresult/libcrypto++-dev_*.deb
.. code-block:: bash #cd ..
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 libjsonrpccpp-dev libmicrohttpd-dev libjsoncpp-dev libedit-dev libz-dev
The reason for the change is that ``libjsonrpccpp-dev`` is available in the universe repository for newer versions of Ubuntu.
Building Building
-------- --------
Run this if you plan on installing Solidity only, ignore errors at the end as Run this if you plan on installing Solidity only:
they relate only to Alethzero and Mix
.. code-block:: bash .. code-block:: bash
git clone --recursive https://github.com/ethereum/webthree-umbrella.git git clone --recursive https://github.com/ethereum/webthree-umbrella.git
cd webthree-umbrella cd webthree-umbrella
./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity # update Solidity repo ./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project solidity # update Solidity repo
./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --all --cores 4 -DEVMJIT=0 # build Solidity and others ./webthree-helpers/scripts/ethbuild.sh --no-git --project solidity --cores 4 -DEVMJIT=0 -DETHASHCL=0 # build Solidity only
#enabling DEVMJIT on OS X will not build
#feel free to enable it on Linux
If you opted to install Alethzero and Mix: If you opted to install Alethzero and Mix: