Instructions for Building VeraCrypt for Linux

These build instructions use wxWidgets static library for VeraCrypt.

  1. Download wxWidgets:
mkdir /scratch/git
cd /scratch/git
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.2/wxWidgets-3.0.2.tar.bz2
tar -xjf wxWidgets-3.0.2.tar.bz2
mv wxWidgets-3.0.2 wxWidgets
rm wxWidgets-3.0.2.tar.bz2
  1. Get the VeraCrypt sources:
git clone git@github.com:veracrypt/VeraCrypt.git veracrypt

Make sure the RSA fingerprint is correct:

SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
  1. Configure the wxWidgets static library for VeraCrypt and build it:
cd veracrypt/src
make clean
make WXSTATIC=1 WX_ROOT=/scratch/git/wxWidgets wxbuild
  1. Build veracrypt:
make WXSTATIC=1
  1. If successful, the veracrypt binary should be located in the directory Main.

You can now copy the binary to your preferred location, like ~/bin/:

cp Main/veracrypt ~/bin/

By default, a universal executable supporting both graphical and text user
interface (through the switch --text) is built.
On Linux, a console-only executable, which requires no GUI library, can be
built using the 'NOGUI' parameter:

make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild
make NOGUI=1 WXSTATIC=1