2022-08-16 08:21:55 +02:00
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< style >
.textbox {
vertical-align: top;
height: auto !important;
font-family: Helvetica,sans-serif;
font-size: 20px;
font-weight: bold;
margin: 10px;
padding: 10px;
background-color: white;
width: auto;
border-radius: 10px;
}
.texttohide {
font-family: Helvetica,sans-serif;
font-size: 14px;
font-weight: normal;
}
< / style >
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" lang = "en" >
< head >
< meta http-equiv = "content-type" content = "text/html; charset=utf-8" / >
< title > VeraCrypt - Free Open source disk encryption with strong security for the Paranoid< / title >
< meta name = "description" content = "VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files." / >
< meta name = "keywords" content = "encryption, security" / >
< link href = "styles.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div >
< a href = "Documentation.html" > < img src = "VeraCrypt128x128.png" alt = "VeraCrypt" / > < / a >
< / div >
< div id = "menu" >
< ul >
< li > < a href = "Home.html" > Home< / a > < / li >
< li > < a href = "/code/" > Source Code< / a > < / li >
< li > < a href = "Downloads.html" > Downloads< / a > < / li >
< li > < a class = "active" href = "Documentation.html" > Documentation< / a > < / li >
< li > < a href = "Donation.html" > Donate< / a > < / li >
< li > < a href = "https://sourceforge.net/p/veracrypt/discussion/" target = "_blank" > Forums< / a > < / li >
< / ul >
< / div >
< div >
< p >
< a href = "Documentation.html" > Documentation< / a >
< img src = "arrow_right.gif" alt = ">>" style = "margin-top: 5px" >
2022-12-11 18:40:33 +01:00
< a href = "Technical%20Details.html" > Technical Details< / a >
< img src = "arrow_right.gif" alt = ">>" style = "margin-top: 5px" >
< a href = "CompilingGuidelines.html" > Building VeraCrypt From Source< / a >
< img src = "arrow_right.gif" alt = ">>" style = "margin-top: 5px" >
< a href = "CompilingGuidelineLinux.html" > Linux Build Guide< / a >
2022-08-16 08:21:55 +02:00
< / p > < / div >
< div class = "wikidoc" >
2022-12-11 18:40:33 +01:00
This guide describes how to set up a Linux System to build VeraCrypt from source and how to perform compilation. < br >
The procedure for a Ubuntu 22.04 LTS system is described here as an example, the procedure for other Linux systems is analogous.
2022-08-16 08:21:55 +02:00
< / div >
< div class = "wikidoc" >
< br >
< br >
The following components are required for compiling VeraCrypt:
< ol >
< li > GNU Make< / li >
2022-12-11 18:40:33 +01:00
< li > GNU C/C++ Compiler< / li >
2022-08-16 08:21:55 +02:00
< li > YASM 1.3.0< / li >
< li > pkg-config< / li >
< li > wxWidgets 3.2 shared library and header files installed or wxWidgets 3.0 library source code < / li >
< li > FUSE library and header files< / li >
< / ol >
< / div >
< div class = "wikidoc" >
2022-12-11 18:40:33 +01:00
< p > Below are the detailed procedure steps:< / p >
< ul >
< li > < a href = "#InstallationOfGNUMake" > Installation of GNU Make< / a > < / li >
< li > < a href = "#InstallationOfGNUCompiler" > Installation of GNU C/C++ Compiler< / a > < / li >
< li > < a href = "#InstallationOfYASM" > Installation of YASM< / a > < / li >
< li > < a href = "#InstallationOfPKGConfig" > Installation of pkg-config< / a > < / li >
< li > < a href = "#InstallationOfwxWidgets" > Installation of wxWidgets 3.2< / a > < / li >
< li > < a href = "#InstallationOfFuse" > Installation of libfuse< / a > < / li >
< li > < a href = "#DownloadVeraCrypt" > Download VeraCrypt< / a > < / li >
< li > < a href = "#CompileVeraCrypt" > Compile VeraCrypt< / a > < / li >
< / ul >
< p > They can also be performed by running the below list of commands in a terminal or by copying them to a script:< / p >
2022-08-16 08:21:55 +02:00
< code >
sudo apt update < br >
sudo apt install -y build-essential yasm pkg-config libgtk-3-dev < br >
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-3.2.0.tar.bz2 < br >
tar -xf wxWidgets-3.2.0.tar.bz2 < br >
cd wxWidgets-3.2.0 < br >
mkdir gtk-build < br >
cd gtk-build < br >
../configure < br >
make < br >
sudo make install < br >
sudo ldconfig < br >
cd ../.. < br >
rm -r wxWidgets-3.2.0 < br >
rm wxWidgets-3.2.0.tar.bz2 < br >
sudo apt install -y libfuse-dev git < br >
git clone https://github.com/veracrypt/VeraCrypt.git
cd ~/VeraCrypt/src < br >
make
< / code >
2022-12-11 18:40:33 +01:00
< p >
2022-08-16 08:21:55 +02:00
< / div >
< div class = "wikidoc" >
< div class = "textbox" id = "InstallationOfGNUMake" >
2022-12-11 18:40:33 +01:00
< a href = "#InstallationOfGNUMake" > Installation of GNU Make< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p >
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
sudo apt update < br >
sudo apt install build-essential
< / code >
< / li >
< / ol >
< / p >
< / div >
< / div >
< div class = "textbox" id = "InstallationOfGNUCompiler" >
2022-12-11 18:40:33 +01:00
< a href = "#InstallationOfGNUCompiler" > Installation of GNU C/C++ Compiler< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p > If the build-essential were already installed in the step before, this step can be skipped.
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
sudo apt update < br >
sudo apt install build-essential
< / code >
< / li >
< / ol >
< / p >
< / div >
< / div >
< div class = "textbox" id = "InstallationOfYASM" >
2022-12-11 18:40:33 +01:00
< a href = "#InstallationOfYASM" > Installation of YASM< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p >
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
sudo apt update < br >
sudo apt install yasm
< / code >
< / li >
< / ol >
< / p >
< / div >
< / div >
< div class = "textbox" id = "InstallationOfPKGConfig" >
2022-12-11 18:40:33 +01:00
< a href = "#InstallationOfPKGConfig" > Installation of pkg-config< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p >
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
sudo apt update < br >
sudo apt install pkg-config
< / code >
< / li >
< / ol >
< / p >
< / div >
< / div >
< div class = "textbox" id = "InstallationOfwxWidgets" >
2022-12-11 18:40:33 +01:00
< a href = "#InstallationOfwxWidgets" > Installation of wxWidgets 3.2< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p >
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
sudo apt install libgtk-3-dev < br >
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-3.2.0.tar.bz2 < br >
tar -xf wxWidgets-3.2.0.tar.bz2 < br >
cd wxWidgets-3.2.0 < br >
mkdir gtk-build < br >
cd gtk-build < br >
../configure < br >
make < br >
sudo make install < br >
sudo ldconfig < br >
cd ../.. < br >
rm -r wxWidgets-3.2.0 < br >
< / code >
< / li >
< / ol >
< / p >
< / div >
< / div >
< div class = "textbox" id = "InstallationOfFuse" >
2022-12-11 18:40:33 +01:00
< a href = "#InstallationOfFuse" > Installation of libfuse< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p >
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
sudo apt update < br >
sudo apt install libfuse-dev
< / code >
< / li >
< / ol >
< / p >
< / div >
< / div >
< div class = "textbox" id = "DownloadVeraCrypt" >
2022-12-11 18:40:33 +01:00
< a href = "#DownloadVeraCrypt" > Download VeraCrypt< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p >
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
sudo apt update < br >
sudo apt install git < br >
git clone https://github.com/veracrypt/VeraCrypt.git
< / code >
< / li >
< / ol >
< / p >
< / div >
< / div >
< div class = "textbox" id = "CompileVeraCrypt" >
2022-12-11 18:40:33 +01:00
< a href = "#CompileVeraCrypt" > Compile VeraCrypt< / a >
2022-08-16 08:21:55 +02:00
< div class = "texttohide" >
< p > Remarks: < br >
< ul >
< li >
If you have not installed wxWidgets like described here, you may have to modify the make statement to reference to the right file: < br >
< code > make WXSTATIC=1< / code >
< / li >
< li >
By default, a universal executable supporting both graphical and text user interface (through the switch --text) is built. < br >
On Linux, a console-only executable, which requires no GUI library, can be built using the 'NOGUI' parameter: < br >
< code >
make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild < br >
make NOGUI=1 WXSTATIC=1
< / code >
< / li >
< / ul >
Steps:
< ol >
< li >
Open a terminal
< / li >
< li >
Execute the following commands: < br >
< code >
cd ~/VeraCrypt/src < br >
make
< / code >
< / li >
< li >
If successful, the VeraCrypt executable should be located in the directory 'Main'.
< / li >
< / ol >
< / p >
< / div >
< / div >
< / div >
< / body > < / html >