The following are some helpful notes on how to run Bitcoin on your native platform.
The following are some helpful notes on how to run Bitcoin on your native platform.
### Unix
### Unix
@ -26,7 +26,7 @@ Unpack the files into a directory and run:
Unpack the files into a directory, and then run bitcoin-qt.exe.
Unpack the files into a directory, and then run bitcoin-qt.exe.
### OSX
### OSX
Drag Bitcoin-Qt to your applications folder, and then run Bitcoin-Qt.
Drag Bitcoin-Qt to your applications folder, and then run Bitcoin-Qt.
@ -41,7 +41,7 @@ Building
---------------------
---------------------
The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
@ -38,7 +38,7 @@ Do not use `pkg_add boost`! The boost version installed thus is compiled using t
test_bitcoin:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program
test_bitcoin:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program
...
...
Segmentation fault (core dumped)
Segmentation fault (core dumped)
This makes it necessary to build boost, or at least the parts used by Bitcoin Core, manually:
This makes it necessary to build boost, or at least the parts used by Bitcoin Core, manually:
@ -57,7 +57,7 @@ tar -xjf boost_1_59_0.tar.bz2
# Boost 1.59 needs two small patches for OpenBSD
# Boost 1.59 needs two small patches for OpenBSD
cd boost_1_59_0
cd boost_1_59_0
# Also here: https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch
# Also here: https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch
This guide will show you how to build bitcoind (headless client) for OSX.
This guide will show you how to build bitcoind (headless client) for OSX.
Notes
Notes
-----
-----
@ -13,8 +13,8 @@ built-in one is located in `/Applications/Utilities`.
Preparation
Preparation
-----------
-----------
You need to install XCode with all the options checked so that the compiler
You need to install Xcode with all the options checked so that the compiler
and everything is available in /usr not just /Developer. XCode should be
and everything is available in /usr not just /Developer. Xcode should be
available on your OS X installation media, but if not, you can get the
available on your OS X installation media, but if not, you can get the
current version from https://developer.apple.com/xcode/. If you install
current version from https://developer.apple.com/xcode/. If you install
Xcode 4.3 or later, you'll need to install its command line tools. This can
Xcode 4.3 or later, you'll need to install its command line tools. This can
@ -38,7 +38,7 @@ NOTE: Building with Qt4 is still supported, however, could result in a broken UI
### Building `bitcoind`
### Building `bitcoind`
1. Clone the github tree to get the source code and go into the directory.
1. Clone the GitHub tree to get the source code and go into the directory.
git clone https://github.com/bitcoin/bitcoin.git
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
cd bitcoin
@ -62,7 +62,7 @@ Use Qt Creator as IDE
You can use Qt Creator as IDE, for debugging and for manipulating forms, etc.
You can use Qt Creator as IDE, for debugging and for manipulating forms, etc.
Download Qt Creator from http://www.qt.io/download/. Download the "community edition" and only install Qt Creator (uncheck the rest during the installation process).
Download Qt Creator from http://www.qt.io/download/. Download the "community edition" and only install Qt Creator (uncheck the rest during the installation process).
1. Make sure you installed everything through homebrew mentioned above
1. Make sure you installed everything through Homebrew mentioned above
2. Do a proper ./configure --with-gui=qt5 --enable-debug
2. Do a proper ./configure --with-gui=qt5 --enable-debug
3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project
3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project
4. Enter "bitcoin-qt" as project name, enter src/qt as location
4. Enter "bitcoin-qt" as project name, enter src/qt as location
*Setup instructions for a gitian build of Bitcoin using a Debian VM or physical system.*
*Setup instructions for a Gitian build of Bitcoin using a Debian VM or physical system.*
Gitian is the deterministic build process that is used to build the Bitcoin
Gitian is the deterministic build process that is used to build the Bitcoin
Core executables. It provides a way to be reasonably sure that the
Core executables. It provides a way to be reasonably sure that the
@ -13,7 +13,7 @@ Multiple developers build the source code by following a specific descriptor
These results are compared and only if they match, the build is accepted and uploaded
These results are compared and only if they match, the build is accepted and uploaded
to bitcoin.org.
to bitcoin.org.
More independent gitian builders are needed, which is why this guide exists.
More independent Gitian builders are needed, which is why this guide exists.
It is preferred you follow these steps yourself instead of using someone else's
It is preferred you follow these steps yourself instead of using someone else's
VM image to avoid 'contaminating' the build.
VM image to avoid 'contaminating' the build.
@ -22,9 +22,9 @@ Table of Contents
- [Create a new VirtualBox VM](#create-a-new-virtualbox-vm)
- [Create a new VirtualBox VM](#create-a-new-virtualbox-vm)
- [Connecting to the VM](#connecting-to-the-vm)
- [Connecting to the VM](#connecting-to-the-vm)
- [Setting up Debian for gitian building](#setting-up-debian-for-gitian-building)
- [Setting up Debian for Gitian building](#setting-up-debian-for-gitian-building)
- [Installing gitian](#installing-gitian)
- [Installing Gitian](#installing-gitian)
- [Setting up the gitian image](#setting-up-the-gitian-image)
- [Setting up the Gitian image](#setting-up-the-gitian-image)
- [Getting and building the inputs](#getting-and-building-the-inputs)
- [Getting and building the inputs](#getting-and-building-the-inputs)
- [Building Bitcoin](#building-bitcoin)
- [Building Bitcoin](#building-bitcoin)
- [Building an alternative repository](#building-an-alternative-repository)
- [Building an alternative repository](#building-an-alternative-repository)
@ -43,7 +43,7 @@ Any kind of virtualization can be used, for example:
- [KVM](http://www.linux-kvm.org/page/Main_Page)
- [KVM](http://www.linux-kvm.org/page/Main_Page)
- [LXC](https://linuxcontainers.org/), see also [Gitian host docker container](https://github.com/gdm85/tenku/tree/master/docker/gitian-bitcoin-host/README.md).
- [LXC](https://linuxcontainers.org/), see also [Gitian host docker container](https://github.com/gdm85/tenku/tree/master/docker/gitian-bitcoin-host/README.md).
You can also install gitian on actual hardware instead of using virtualization.
You can also install Gitian on actual hardware instead of using virtualization.
Create a new VirtualBox VM
Create a new VirtualBox VM
---------------------------
---------------------------
@ -60,18 +60,18 @@ In the VirtualBox GUI click "Create" and choose the following parameters in the
- File location and size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side
- File location and size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side
- Click `Create`
- Click `Create`
Get the [Debian 8.x net installer](http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)).
Get the [Debian 8.x net installer](http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)).
@ -81,7 +81,7 @@ Unixy OSes by entering the following in a terminal:
@ -108,8 +108,8 @@ The gbuild invocations below <b>DO NOT DO THIS</b> by default.
1. source tarball (bitcoin-${VERSION}.tar.gz)
1. source tarball (bitcoin-${VERSION}.tar.gz)
2. linux 32-bit and 64-bit dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz)
2. linux 32-bit and 64-bit dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz)
3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe, bitcoin-${VERSION}-win[32|64].zip)
3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe, bitcoin-${VERSION}-win[32|64].zip)
4. OSX unsigned installer and dist tarball (bitcoin-${VERSION}-osx-unsigned.dmg, bitcoin-${VERSION}-osx64.tar.gz)
4. OSX unsigned installer and dist tarball (bitcoin-${VERSION}-osx-unsigned.dmg, bitcoin-${VERSION}-osx64.tar.gz)
5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|{win,osx}-unsigned>/(your gitian key)/
5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|{win,osx}-unsigned>/(your Gitian key)/
###Next steps:
###Next steps:
@ -123,12 +123,12 @@ Commit your signature to gitian.sigs:
git push # Assuming you can push to the gitian.sigs tree
git push # Assuming you can push to the gitian.sigs tree
popd
popd
Wait for Windows/OSX detached signatures:
Wait for Windows/OSX detached signatures:
Once the Windows/OSX builds each have 3 matching signatures, they will be signed with their respective release keys.
Once the Windows/OSX builds each have 3 matching signatures, they will be signed with their respective release keys.
Detached signatures will then be committed to the [bitcoin-detached-sigs](https://github.com/bitcoin/bitcoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
Detached signatures will then be committed to the [bitcoin-detached-sigs](https://github.com/bitcoin/bitcoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
Create (and optionally verify) the signed OSX binary:
Create (and optionally verify) the signed OSX binary:
The Bitcoin-Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, Bitcoin-Core makes use of the Transifex online translation management tool.
The Bitcoin-Core project has been designed to support multiple localisations. This makes adding new phrases, and completely new languages easily achievable. For managing all application translations, Bitcoin-Core makes use of the Transifex online translation management tool.
### Helping to translate (using Transifex)
### Helping to translate (using Transifex)
Transifex is setup to monitor the Github repo for updates, and when code containing new translations is found, Transifex will process any changes. It may take several hours after a pull-request has been merged, to appear in the Transifex web interface.
Transifex is setup to monitor the Github repo for updates, and when code containing new translations is found, Transifex will process any changes. It may take several hours after a pull-request has been merged, to appear in the Transifex web interface.