-
Notifications
You must be signed in to change notification settings - Fork 91
How To Build Lux Wallet ?
-
Clone the Lux source code and cd into
lux
foldergit clone https://github.com/LUX-Core/lux cd lux
-
Build Luxcore:
Configure and build the headless Lux binaries as well as the GUI (if Qt is found).
You can disable the GUI build by passing
--without-gui
to configure../autogen.sh ./configure make
-
It is recommended to build and run the unit tests:
make check
cd /usr/local/src
git clone https://github.com/LUX-Core/lux
cd lux/depends
./build-win.sh
Output windows binaries will be placed in depends/Release
folder
Note: Common host-platform-triplets for cross compilation are:
- Linux x64: x86_64-linux-gnu
- Win32: i686-w64-mingw32
- Win64: x86_64-w64-mingw32
- MacOSX: x86_64-apple-darwin11
- Linux arm 32: arm-linux-gnueabihf
- Linux arch 64: aarch64-linux-gnu
A prefix will be generated that's suitable for plugging into Bitcoin's configure. In the above example, a dir named x86_64-w64-mingw32 will be created. To use it for Lux:
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
The first step is to install the mingw-w64 cross-compilation tool chain. Due to different Ubuntu packages for each distribution and problems with the Xenial packages the steps for each are different.
Common steps to install mingw32 cross compiler tool chain:
sudo apt install g++-mingw-w64-x86-64
Ubuntu Xenial 16.04 and Windows Subsystem for Linux
sudo apt install software-properties-common
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu zesty universe"
sudo apt update
sudo apt upgrade
sudo update-alternatives --config x86_64-w64-mingw32-g++ # Set the default mingw32 g++ compiler option to posix.
Note that for WSL the Lux Core source path MUST be somewhere in the default mount file system, for example /usr/local/src/lux, AND not under /mnt/d/. If this is not the case the dependency autoconf scripts will fail. This means you cannot use a directory that located directly on the host Windows file system to perform the build.
dnf install make gcc-c++ libtool libdb4-devel libdb4-cxx-devel openssl-devel cryptopp-devel libcurl-devel miniupnpc-devel libevent-devel
# boost: may be prefered to use a local version 1.65 to avoid frequent updates
dnf install boost-devel
# qt stuff (optional)
#dnf install qt5-qttools-devel qrencode-devel cppzmq-devel czmq-devel protobuf-devel
./autogen.sh
./configure CXXFLAGS="-march=core2" --disable-bench --with-gui=no --disable-zmq --disable-asm
Clang is installed by default as cc
compiler, this makes it easier to get
started than on OpenBSD. Installing dependencies:
pkg install autoconf automake libtool pkgconf
pkg install boost-libs openssl libevent
pkg install gmake
You need to use GNU make (gmake
) instead of make
.
(libressl
instead of openssl
will also work)
For the wallet (optional):
./contrib/install_db4.sh `pwd`
setenv BDB_PREFIX $PWD/db4
Then build using:
./autogen.sh
./configure BDB_CFLAGS="-I${BDB_PREFIX}/include" BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx"
gmake
cd depends
make HOST=aarch64-linux-gnu
cd ..
./autogen.sh
./configure
make HOST=aarch64-linux-gnu -j4
The commands in this guide should be executed in a Terminal application.
The built-in one is located in /Applications/Utilities/Terminal.app
.
Install the OS X command line tools:
`xcode-select --install`
When the popup appears, click Install
.
Then install Homebrew.
brew install cmake automake berkeley-db4 libtool boost --c++11 --without-single --without-static miniupnpc openssl pkg-config protobuf qt5 libevent imagemagick --with-librsvg
NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended.
Then you can either run the command-line daemon using src/luxd
and src/lux-cli
, or you can run the Qt GUI using src/qt/lux-qt
For in-depth description of Sparknet and how to use Lux for interacting with contracts, please see sparknet-guide.
(c) LUX-Core Team - 2018
About the Luxcore Organization, The Team, Vision and Products
Everything you want to know about the core product- Lux coin, the underlying algorithm, blockchain specifics, roadmap, whitepaper and downloads.