NMC-NAMETAB-CORE-BUILD-COMMANDS:-
===================================
!!! MOSTLY RINSED FROM /doc/build-unix.md !!!
-----------------------------------------------
!!! AS I SAID ABOVE, I'M "KINDA NOOB" WITH LINUX, SO RUN THIS ALL AT YOUR OWN RISK - IT MOSTLY WORKED FOR ME THO, CURRENTLY... !!!
!!! USING THE LATEST "NMC-NAMETAB" CODE AND DOCS -
https://github.com/namecoin/namecoin-co ... r-name-tab
DOWNLOAD AS ZIP AND EXTRACT TO /home/pi/CRYPTO-HOME/NMC ...or something like that...
=====================================
INSTALL START:-
================
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3
sudo apt-get install libboost-all-dev
OR
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo apt-get install software-properties-common
Berkley DB 4.8 FROM SOURCE OR DOWNLOAD:-
=========================================
ONLY REQUIRED FOR WALLET FUNCTIONALITY, BUT I GOT A COMPILER ERROR FURTHER DOWN, BUT COMPILES AND WORKS WITH WALLET DISABLED...
SOURCE:-
==========
sudo ./contrib/install_db4.sh 'pwd'
-----------
Berkeley DB
-----------
It is recommended to use Berkeley DB 4.8. If you have to build it yourself,
you can use [the installation script included in contrib/](/contrib/install_db4.sh)
like so
```shell
./contrib/install_db4.sh `pwd`
```
from the root of the repository.
**Note**: You only need Berkeley DB if the wallet is enabled (see the section *Disable-Wallet mode* below).
-----------
db4 build complete.
When compiling bitcoind, run `./configure` in the following way:
export BDB_PREFIX='/home/pi/db4'
./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" ...
------------
DOWNLOAD:-
============
**For Ubuntu only:** db4.8 packages are available [here](
https://launchpad.net/~bitcoin/+archive/bitcoin).
You can add the repository and install using the following commands:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
===========
sudo apt-get install libminiupnpc-dev
ZMQ dependencies (provides ZMQ API 4.x):
==========================================
sudo apt-get install libzmq3-dev
To build with Qt 5 (recommended) you need the following:
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
Alternatively, to build with Qt 4 you need the following:
sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
ibqrencode (optional) can be installed with:
sudo apt-get install libqrencode-dev
Once these are installed, they will be found by configure and a bitcoin-qt executable will be
built by default.
Memory Requirements - INFO ONLY
----------------------------------------------
C++ compilers are memory-hungry. It is recommended to have at least 1.5 GB of
memory available when compiling Bitcoin Core. On systems with less, gcc can be
tuned to conserve memory with additional CXXFLAGS:
./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"
----------------------
RUN AUTOGEN:-
================
/home/pi/CRYPTO-HOME/NMC
sudo ./autogen.sh
--------------------------
NORMAL, CONFIGURE-COMMAND:-
===============================
sudo ./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" --enable-hardening --with-miniupnpc --disable-upnp-default --with-boost-libdir=/usr/lib/arm-linux-gnueabihf
NORMAL, WALLET-DISABLED, CONFIGURE-COMMAND - (2GB+ RAM):-
==================================================================
sudo ./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" --enable-hardening --with-miniupnpc --disable-upnp-default --disable-wallet --with-boost-libdir=/usr/lib/arm-linux-gnueabihf
LESS RAM, CONFIGURE-COMMAND:-
=================================
sudo ./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" --enable-hardening --with-miniupnpc --disable-upnp-default --with-boost-libdir=/usr/lib/arm-linux-gnueabihf
LESS RAM, WALLET-DISABLED, CONFIGURE-COMMAND - (LESS THAN 2GB RAM):-
======================================================================
sudo ./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" --enable-hardening --with-miniupnpc --disable-upnp-default --disable-wallet --with-boost-libdir=/usr/lib/arm-linux-gnueabihf
!!! I USED "LESS RAM, WALLET-DISABLED" (RPI3B+) AND "NORMAL, WALLET DISABLED" (RPI4B) COS ERROR BELOW WHEN COMPILING WITH WALLET ENABLED...
ERROR - INFO ONLY:-
====================
configure: error: libdb_cxx headers missing, Namecoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)
E: Unable to locate package libdb_cxx
Disable-wallet mode - INFO ONLY:-
--------------------------------------------
When the intention is to run only a P2P node without a wallet, bitcoin may be compiled in
disable-wallet mode with:
./configure --disable-wallet
Security - INFO ONLY:-
------------------------------
./configure --enable-hardening
MY CONFIGURE-END-OUTPUT:-
===========================
Options used to compile and link:
with wallet = no
with gui / qt = yes
qt version = 5
with qr = yes
with zmq = yes
with test = yes
with bench = yes
with upnp = yes
use asm = yes
debug enabled = no
werror = no
target os = linux
build os =
CC = gcc
CFLAGS = -g -O2
CPPFLAGS = -I/home/pi/db4/include/ -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64
CXX = g++ -std=c++11
CXXFLAGS = --param ggc-min-expand=1 --param ggc-min-heapsize=32768
LDFLAGS = -L/home/pi/db4/lib/
ARFLAGS = cr
"MAKE" - COMPILE COMMAND:-
============================
sudo make
----
I THINK IT TOOK ABOUT 2 HOURS TO "MAKE" ... !!!
MY LAST PART OF MAKE COMMAND END OUTPUT:-
===========================================
----------
/usr/include/c++/8/bits/stl_uninitialized.h: In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const CTxOut*, std::vector<CTxOut> >; _ForwardIterator = CTxOut*; bool _TrivialValueTypes = false]':
/usr/include/c++/8/bits/stl_uninitialized.h:76:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CTxOut*, std::vector<CTxOut> >' changed in GCC 7.1
__uninit_copy(_InputIterator __first, _InputIterator __last,
^~~~~~~~~~~~~
/usr/include/c++/8/bits/stl_uninitialized.h:76:9: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const CTxOut*, std::vector<CTxOut> >' changed in GCC 7.1
CXX libnamecoinconsensus_la-pubkey.lo
CXX script/libnamecoinconsensus_la-namecoinconsensus.lo
CXX script/libnamecoinconsensus_la-interpreter.lo
CXX script/libnamecoinconsensus_la-names.lo
CXX script/libnamecoinconsensus_la-script.lo
CXX script/libnamecoinconsensus_la-script_error.lo
CXX libnamecoinconsensus_la-uint256.lo
CXX libnamecoinconsensus_la-utilstrencodings.lo
CXXLD libnamecoinconsensus.la
/usr/bin/ar: `u' modifier ignored since `D' is the default (see `U')
make[2]: Leaving directory '/home/pi/CRYPTO-HOME/NMC/src'
make[1]: Leaving directory '/home/pi/CRYPTO-HOME/NMC/src'
Making all in doc/man
make[1]: Entering directory '/home/pi/CRYPTO-HOME/NMC/doc/man'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/pi/CRYPTO-HOME/NMC/doc/man'
make[1]: Entering directory '/home/pi/CRYPTO-HOME/NMC'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/pi/CRYPTO-HOME/NMC'
--------------
!!! Complete successfully as far as I can see... !!!
BASH SCRIPT TEXT FILE COMMAND:-
==================================
Create text file named "NMC-START" and paste text below into file...
---
#!/bin/bash
#NAMECOIN START SCRIPT
sudo /home/pi/CRYPTO-HOME/NMC/src/qt/namecoin-qt -conf=/home/pi/CRYPTO-HOME/namecoin.conf -datadir=/home/pi/CRYPTO-HOME/NMC-BC
---
Save file...
Right-click file, Properties - Make sure Script File Properties are set to allow execution...
Open Terminal window.
I Run:-
=========
sudo ./NMC-START
Namecoin-qt should run using the .conf file specified, saving the Blockchain in the datadir specified.
I got this error, but everything EXCEPT WALLET FUNCTIONALITY works (DISABLED WHEN COMPILING COS ERROR), as far as I can see...
-------
libEGL warning: DRI2: failed to authenticate
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
-------
I'LL POST IF I FIND ANY PROBS...
OTHERWISE, GOOD ENOUGH FOR ME... !!!
I'M PROBABLY GONNA TRY GET THIS WORKING ON MY RPI4B ASWELL / INSTEAD NOW I GOT THIS FAR... !!!
HOPE HELPS... !!!
Cheers... !!!
