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
>= 3.5 org++
>= 4.9pkg-config
bison
andflex
libpq-dev
unless you./configure --disable-postgres
in the build step below.- 64-bit system
clang-format-5.0
(formake format
to work)pandoc
perl
# 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++-3.5 gcc-4.9 g++-4.9 cpp-4.9
In order to make changes, you'll need to install the proper version of clang-format (you may have to follow instructions on https://apt.llvm.org/ ) # sudo apt-get install clang-format-5.0
See installing gcc 4.9 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.git
cd stellar-core
git submodule init
git submodule update
- Type
./autogen.sh
. - Type
./configure
(If configure complains about compiler versions, tryCXX=clang-3.5 ./configure
orCXX=g++-4.9 ./configure
or similar, depending on your compiler.) - Type
make
ormake -j
(for aggressive parallel build) - Type
make check
to run tests. - Type
make install
to install.