Files
agrarian/doc/build-wallets.md
2026-04-29 14:11:52 +00:00

91 lines
2.3 KiB
Markdown

Copyright (c) 2026 Agrarian Developers
Desktop Wallet Build Quick Start
================================
This page records the repeatable desktop wallet build flow for the modernized
Agrarian tree.
Supported targets
-----------------
The currently tested desktop wallet targets are:
* Ubuntu 24.04 native x86_64: `src/qt/agrarian-qt`
* Windows x86_64 cross build from Ubuntu: `src/qt/agrarian-qt.exe`
Use one job on small servers:
JOBS=1 ./contrib/build-linux-wallet.sh
JOBS=1 ./contrib/build-win64-wallet.sh
Use more jobs only when the host has enough memory.
Ubuntu package baseline
-----------------------
sudo apt-get update
sudo apt-get install -y \
build-essential pkg-config autoconf automake libtool bsdmainutils \
curl git make tar patch
For the native Ubuntu wallet:
sudo apt-get install -y \
qtbase5-dev qttools5-dev-tools qtchooser \
libqrencode-dev libprotobuf-dev protobuf-compiler
For the Windows wallet:
sudo apt-get install -y \
mingw-w64 g++-mingw-w64-x86-64 g++-mingw-w64-x86-64-posix \
qttools5-dev-tools
Then select POSIX Mingw-w64 threading:
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
Why the helpers exist
---------------------
The wallet build is sensitive to tool version mismatches:
* Native Ubuntu uses current system Qt tools and protobuf while keeping the
deterministic depends libraries.
* Windows uses the Qt 5.9.7 and protobuf 2.6.1 libraries from depends. Its host
tools must match those libraries closely enough for generated C++ output to
compile.
The helper scripts keep those rules in one place so the build is repeatable on a
fresh server.
Expected artifacts
------------------
After the Ubuntu wallet build:
src/qt/agrarian-qt
src/agrariand
src/agrarian-cli
src/agrarian-tx
After the Windows wallet build:
src/qt/agrarian-qt.exe
src/agrariand.exe
src/agrarian-cli.exe
src/agrarian-tx.exe
Version checks
--------------
On Ubuntu:
QT_QPA_PLATFORM=offscreen src/qt/agrarian-qt --version
src/agrariand --version
For Windows binaries from the Linux build host:
file src/qt/agrarian-qt.exe src/agrariand.exe src/agrarian-cli.exe src/agrarian-tx.exe