These are intructions for building stellar-core from source. For a potentially quicker set up we also have stellar-core in a docker container: https://github.com/stellar/docker-stellar-core-horizon
Branches are organized in the following way:
| branch name | description | quality bar |
|---|---|---|
| master | development branch | all unit tests passing |
| testnet | version deployed to testnet | acceptance tests passing |
| prod | version currently deployed on the live network | no recall class issue found in testnet and staging |
For convenience, we also keep a record in the form of release tags of the versions that make it to production:
- pre-releases are versions that get deployed to testnet
- releases are versions that made it all the way in prod
When running a node, the best bet is to go with the latest release.
clang>= 5.0 org++>= 5.0pkg-configbisonandflexlibpq-devunless you./configure --disable-postgresin the build step below.- 64-bit system
clang-format-5.0(formake formatto work)pandocperl
# sudo add-apt-repository ppa:ubuntu-toolchain-r/test
# sudo apt-get update
# sudo apt-get install git build-essential pkg-config autoconf automake libtool bison flex libpq-dev clang++-5.0 gcc-5 g++-5 cpp-5
In order to make changes, you'll need to install the proper version of clang-format.
In order to install the llvm (clang) toolchain, you may have to follow instructions on https://apt.llvm.org/ # sudo apt-get install clang-format-5.0
See installing gcc 5 on ubuntu 14.04
Additional, for proper documentation generation (man page), pandoc is needed: # sudo apt-get install pandoc
When building on OSX, here's some dependencies you'll need:
- Install xcode
- Install homebrew
- brew install libsodium
- brew install libtool
- brew install automake
- brew install pkg-config
- brew install libpqxx (If ./configure later complains about libpq missing, try PKG_CONFIG_PATH='/usr/local/lib/pkgconfig')
- brew install pandoc
git clone https://github.com/stellar/stellar-core.gitcd stellar-coregit submodule initgit submodule update- Type
./autogen.sh. - Type
./configure(If configure complains about compiler versions, tryCXX=clang-5.0 ./configureorCXX=g++-5 ./configureor similar, depending on your compiler.) - Type
makeormake -j(for aggressive parallel build) - Type
make checkto run tests. - Type
make installto install.