<aside> 🚨
THIS DOCUMENT IS NOW ARCHIVED
Please use and update the https://github.com/status-im/status-desktop/blob/master/BUILDING.md instead
</aside>
Buidling (archive copy from hackmd)
Run with Admin privileges from PowerShell:
choco install make cmake mingw wget
Download and install - The Go Programming Language
<aside>
☹️ Actually, there is a script scripts/windows_build_setup.ps1.
But it seems to be broken.
</aside>
Note 1:
Note 2:
scoop install --global [email protected]Note 3:
For installing proto buff in windows go to https://github.com/protocolbuffers/protobuf/releases
scroll down and download the zip for windows compatible
Once download the zip, extract it to C:/
Just copy the path, for example C:\protoc-3.17.3-win64\bin and set this as path to an environment variables
sudo apt install libpcsclite-dev libpcre3-dev build-essential mesa-common-dev libglu1-mesa-dev libssl-dev cmake jq libxcb-xinerama0 protobuf-develop
# Package obtained from <https://answers.launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/23606713>
wget <https://answers.launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/23606713/+files/libssl1.1_1.1.1l-1ubuntu1.3_amd64.deb>
sudo dpkg -i libssl1.1_1.1.1l-1ubuntu1.3_amd64.deb
Download and install - The Go Programming Language
curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh> | bash
# Add this to .bashrc
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# Install LTS version. Last tested v18.16.
nvm install lts/*
nvm alias default lts/*nvm alias default lts/*
# update npm
npm install -g npm@latest
sudo dnf install pcsc-lite-devel pcre-devel ssl-devel crypto-devel protobuf-develop protobuf-compiler
Openssl 1.1 is not available in Fedora since version 40. Meaning with Fedora 39 you should be fine to install openssl-dev 1.1 with dnf.
sudo dnf install perl-FindBin perl-File-Compare perl-File-Copy perl-Pod-Html
wget [<https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz>](<https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz>)
tar xavf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=$HOME/.local/lib/openssl1.1
make && make install
If the make files complains about any file not found, remember you can find the package that provides it this way: dnf provides '*/File/Copy.pm'
We use Qt 5.15.8 in CI builds. But 5.15.10 is tested to work fine.
brew install cmake pkg-config [email protected] qt@5 jq nvm yarn
After brew install, you need to complete the following steps for installing node.js
# You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
# Add the following to your shell profile e.g. ~/.profile or ~/.zshrc:
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
# Install node.js LTS version, last tested is 21.1.0
nvm install lts/* # `nvm install --lts` for some versions
nvm alias default lts/*
# Use the ones below if installing package fileicon fails
# nvm install lts/hydrogen
# nvm alias default lts/hydrogen
# update npm
npm install -g npm@latest
# Install dependency
npm install fileicon
# After nix-shell upgrade; see: github.com/status-im/status-go/pull/4388
brew install coreutils
If you’re using python ≥ 3.12, you need to install setuptools manually:
python3 -m pip install setuptools --break-system-packages
Related links:
Install Qt 5.15.2 with online installer
Download Qt: Get Qt Online Installer
On Linux you can use any newer 5.15.x version that’s coming with your system
sudo apt install qtbase5-dev qt5-qmake qtquickcontrols2-5-dev
box qt5-qtbase qt5-qtbase-devel qt5-qtquickcontrols
Set QTPATH environment variable to:
C:/Qt/5.15.2/5.15.2
Set QTBASE environment variable to:
C:/Qt/5.15.2
Set QTDIR environment variable to:
C:/Qt/5.15.2/msvc2017_64
Set GOPATH environment variable to:
C:\Users\{your_username}\go\bin
Set VCINSTALLDIR environment variable to:
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC
Set VS160COMNTOOLS environment variable to:
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build
Add following paths to PATH:
C:\ProgramData\chocolatey\bin
C:\Users\{your_username}\scoop\apps\mingw\current\bin
C:\Users\{your_username}\scoop\apps\cmake\3.31.6\bin
C:\Users\{your_username}\scoop\apps\mingw\15.1.0-rt_v12-rev0\bin
С:\Users\{your_username}\go\bin
C:\Program Files\Go\bin
C:\Qt\5.15.2\msvc2019_64\bin
C:\protoc-30.2-win64\bin
C:\Qt\Tools\Ninja
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin
C:\Users\{your_username}\AppData\Local\Programs\Microsoft VS Code\bin
git clone <https://github.com/status-im/status-desktop>
cd status-desktop