Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Compile Bitcoin on Ubuntu 14.04
Assuming the username of the Ubuntu user is "theusername".
Preparation
-----------
```
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libqt5gui5 libqt5core5 libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev
sudo apt-get install libminiupnpc-dev
```
Download bitcoin source code
----------------------------
```
cd ~
git clone https://github.com/bitcoin/bitcoin.git
```
Download and compile Berkley DB 4.8
-----------------------------------
```
cd ~
mkdir bitcoin/db4/
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
tar -xzvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/theusername/bitcoin/db4/
make install
```
Compile Bitcoin with Berkley DB 4.8
-----------------------------------
```
cd ~/bitcoin/
./autogen.sh
./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
make -s -j5
```
Run Bitcoin Daemon/QT/Client
----------------------------
```
./src/bitcoind
./src/bitcoin-qt
./src/bitcoin-cli
```
Please share your experience and provide constructive feedback!
Thanks,
--- Kosta
@xiaonan778
Copy link

@caikehe It works! thx

Copy link

ghost commented Feb 12, 2018

in Ubuntu 16 you also need to run

sudo apt-get install libevent-dev

@smartmanjp
Copy link

Hello I was installing this to learn and i get stack on make -s -j5 I get this terry@rootminingpool:/bitcoin$ make -s -j5
make: *** No targets specified and no makefile found. Stop.
terry@rootminingpool:
/bitcoin$
Any help

@smartmanjp
Copy link

and inside the fold i have
terry@rootminingpool:/bitcoin$ ll
total 1420
drwxrwxr-x 14 terry terry 4096 Mar 6 16:59 ./
drwxr-xr-x 23 terry terry 4096 Mar 6 16:43 ../
-rw-rw-r-- 1 terry terry 56106 Mar 6 16:59 aclocal.m4
-rwxrwxr-x 1 terry terry 527 Mar 6 16:42 autogen.sh*
drwxr-xr-x 2 terry terry 4096 Mar 6 16:59 autom4te.cache/
drwxrwxr-x 3 terry terry 4096 Mar 6 16:59 build-aux/
-rw-rw-r-- 1 terry terry 163272 Mar 6 16:59 config.log
-rwxrwxr-x 1 terry terry 1011199 Mar 6 16:59 configure*
-rw-rw-r-- 1 terry terry 48531 Mar 6 16:42 configure.ac
drwxrwxr-x 17 terry terry 4096 Mar 6 16:42 contrib/
-rw-rw-r-- 1 terry terry 13886 Mar 6 16:42 CONTRIBUTING.md
-rw-rw-r-- 1 terry terry 1142 Mar 6 16:42 COPYING
drwxrwxr-x 2 terry terry 4096 Mar 6 16:43 db4/
drwxrwxr-x 6 terry terry 4096 Mar 6 16:42 depends/
drwxrwxr-x 4 terry terry 4096 Mar 6 16:42 doc/
drwxrwxr-x 8 terry terry 4096 Mar 6 16:42 .git/
-rw-rw-r-- 1 terry terry 35 Mar 6 16:42 .gitattributes
drwxrwxr-x 2 terry terry 4096 Mar 6 16:42 .github/
-rw-rw-r-- 1 terry terry 1515 Mar 6 16:42 .gitignore
-rw-rw-r-- 1 terry terry 161 Mar 6 16:42 INSTALL.md
-rw-rw-r-- 1 terry terry 295 Mar 6 16:42 libbitcoinconsensus.pc.in
-rw-rw-r-- 1 terry terry 11091 Mar 6 16:42 Makefile.am
-rw-rw-r-- 1 terry terry 46839 Mar 6 16:59 Makefile.in
-rw-rw-r-- 1 terry terry 3600 Mar 6 16:42 README.md
drwxrwxr-x 5 terry terry 4096 Mar 6 16:42 share/
drwxrwxr-x 21 terry terry 4096 Mar 6 16:59 src/
drwxrwxr-x 4 terry terry 4096 Mar 6 16:42 test/
-rw-rw-r-- 1 terry terry 6959 Mar 6 16:42 .travis.yml
drwxrwxr-x 2 terry terry 4096 Mar 6 16:42 .tx/
terry@rootminingpool:
/bitcoin$

@jazap
Copy link

jazap commented May 31, 2018

Excellent work. How does one edit the qt client GUI interface?

@xiaoyue2019
Copy link

Thanks for sharing, after the installation, the software language is garbled and I am getting an error:

If this sounds wrong, possibly the target language is not set or recognized.

what should I do?

@ashishcse0031
Copy link

Thanks!

@VladWeb-V
Copy link

VladWeb-V commented Oct 29, 2019

Кто может помочь? Делаю форк для своего сайта, пытаюсь скомпилировать namecoin-qt командой make, :
mkdir obj sudo apt-get install build-essential sudo apt-get install libssl-dev sudo apt-get install libboost-all-dev sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install libdb4.8-dev sudo apt-get install libdb4.8++-dev sudo apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev libssl-dev libdb++-dev libminiupnpc-dev Сбилдим всё: sudo make -f makefile.unix USE_UPNP= cd .. sudo qmake sudo make

При использовании команды make пишет:
g++ -c -m64 -pipe -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DHAVE_BUILD_INFO -DLINUX -D_FILE_OFFSET_BITS=64 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/qt -Isrc/leveldb/include -Isrc/leveldb/helpers -Ibuild -Ibuild -o build/bitcoin.o src/qt/bitcoin.cpp make[1]: Вход в каталог /root/namecoin/src/leveldb'
make[1]: libleveldb.a' не требует обновления. make[1]: libmemenv.a' не требует обновления.
make[1]: Выход из каталога /root/namecoin/src/leveldb' g++ -c -m64 -pipe -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DHAVE_BUILD_INFO -DLINUX -D_FILE_OFFSET_BITS=64 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/qt -Isrc/leveldb/include -Isrc/leveldb/helpers -Ibuild -Ibuild -o build/bitcoingui.o src/qt/bitcoingui.cpp In file included from src/walletdb.h:9:0, from src/wallet.h:19, from src/init.h:8, from src/qt/bitcoin.cpp:13: src/base58.h: In member function ‘bool CBitcoinAddress::IsValid() const’: src/base58.h:306:13: error: duplicate case value case SCRIPT_ADDRESS: ^ src/base58.h:302:13: error: previously used here case PUBKEY_ADDRESS: ^ src/base58.h:315:13: error: duplicate case value case SCRIPT_ADDRESS_TEST: ^ src/base58.h:311:13: error: previously used here case PUBKEY_ADDRESS_TEST: ^ src/base58.h: In member function ‘CTxDestination CBitcoinAddress::Get() const’: src/base58.h:355:9: error: duplicate case value case SCRIPT_ADDRESS: ^ src/base58.h:349:9: error: previously used here case PUBKEY_ADDRESS: ^ src/base58.h:356:9: error: duplicate case value case SCRIPT_ADDRESS_TEST: { ^ src/base58.h:350:9: error: previously used here case PUBKEY_ADDRESS_TEST: { ^ In file included from src/walletdb.h:9:0, from src/wallet.h:19, from src/qt/bitcoingui.cpp:26: src/base58.h: In member function ‘bool CBitcoinAddress::IsValid() const’: src/base58.h:306:13: error: duplicate case value case SCRIPT_ADDRESS: ^ src/base58.h:302:13: error: previously used here case PUBKEY_ADDRESS: ^ src/base58.h:315:13: error: duplicate case value case SCRIPT_ADDRESS_TEST: ^ src/base58.h:311:13: error: previously used here case PUBKEY_ADDRESS_TEST: ^ src/base58.h: In member function ‘CTxDestination CBitcoinAddress::Get() const’: src/base58.h:355:9: error: duplicate case value case SCRIPT_ADDRESS: ^ src/base58.h:349:9: error: previously used here case PUBKEY_ADDRESS: ^ src/base58.h:356:9: error: duplicate case value case SCRIPT_ADDRESS_TEST: { ^ src/base58.h:350:9: error: previously used here case PUBKEY_ADDRESS_TEST: { ^ make: *** [build/bitcoin.o] Ошибка 1 make: *** Ожидание завершения заданий… make: *** [build/bitcoingui.o] Ошибка 1

@RaibeartRuadh
Copy link

Thank you! Really good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment