VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/doc/html/CompilingGuidelineLinux.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/CompilingGuidelineLinux.html')
-rw-r--r--doc/html/CompilingGuidelineLinux.html151
1 files changed, 68 insertions, 83 deletions
diff --git a/doc/html/CompilingGuidelineLinux.html b/doc/html/CompilingGuidelineLinux.html
index a8460518..7b0d1df3 100644
--- a/doc/html/CompilingGuidelineLinux.html
+++ b/doc/html/CompilingGuidelineLinux.html
@@ -16,38 +16,11 @@
}
.texttohide {
- display:none;
font-family: Helvetica,sans-serif;
font-size: 14px;
font-weight: normal;
}
-.show {
- display: none;
- text-decoration: none;
-}
-
-.hide:target + .show {
- display: inline;
- text-decoration: none;
-}
-
-.hide:target {
- display: none;
- text-decoration: none;
-}
-
-.hide:target ~ .texttohide {
- display:inline;
- text-decoration: none;
-
-}
-
-@media print {
- .hide, .show {
- display: none;
- }
-}
</style>
@@ -80,12 +53,16 @@
<p>
<a href="Documentation.html">Documentation</a>
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
-<a href="CompilingGuidelineLinux.html">Compiling Gudineline for Linux</a>
+<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>
</p></div>
<div class="wikidoc">
-This guide describes how to set up a Linux System that can compile the VeraCrypt. Further it is described how VeraCrypt is going to be compiled. <br>
-The procedure for a Ubuntu 22.04 LTS system is described here as an example, but the procedure for other Linux systems is analogous.
+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.
</div>
<div class="wikidoc">
@@ -94,43 +71,44 @@ The procedure for a Ubuntu 22.04 LTS system is described here as an example, but
The following components are required for compiling VeraCrypt:
<ol>
<li>GNU Make</li>
- <li>GNU C++ Compiler 4.0</li>
+ <li>GNU C/C++ Compiler</li>
<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>wxWidgets 3.x shared library and header files installed by the system or wxWidgets 3.x library source code </li>
<li>FUSE library and header files</li>
+ <li>PCSC-lite library and header files</li>
</ol>
</div>
<div class="wikidoc">
-If you do not want to perform the single steps below, you can run these commands to build an environment and to compile VeraCrpyt: <br>
-Download as script: <a href="LinuxPrepAndBuild.sh" target="_blank">Script</a> <br>
+<p>Below are the procedure steps. Clicking on any of the link takes directly to the related step:
+<ul>
+<li><strong><a href="#InstallationOfGNUMake">Installation of GNU Make</a></li></strong>
+<li><strong><a href="#InstallationOfGNUCompiler">Installation of GNU C/C++ Compiler</a></li></strong>
+<li><strong><a href="#InstallationOfYASM">Installation of YASM</a></li></strong>
+<li><strong><a href="#InstallationOfPKGConfig">Installation of pkg-config</a></li></strong>
+<li><strong><a href="#InstallationOfwxWidgets">Installation of wxWidgets 3.2</a></li></strong>
+<li><strong><a href="#InstallationOfFuse">Installation of libfuse</a></li></strong>
+<li><strong><a href="#InstallationOfPCSCLite">Installation of libpcsclite</a></li></strong>
+<li><strong><a href="#DownloadVeraCrypt">Download VeraCrypt</a></li></strong>
+<li><strong><a href="#CompileVeraCrypt">Compile VeraCrypt</a></li></strong>
+</ul>
+</p>
+<p>They can also be performed by running the below list of commands in a terminal or by copying them to a script:<br>
<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
+sudo apt install -y build-essential yasm pkg-config libwxgtk3.0-gtk3-dev <br>
+sudo apt install -y libfuse-dev git libpcsclite-dev <br>
+git clone https://github.com/veracrypt/VeraCrypt.git <br>
cd ~/VeraCrypt/src <br>
make
</code>
+</p>
</div>
<div class="wikidoc">
<div class="textbox" id="InstallationOfGNUMake">
- <a href="#hide1" class="hide" id="hide1">Installation of GNU Make</a>
- <a href="#show1" class="show" id="show1">Installation of GNU Make</a>
+ <a href="#InstallationOfGNUMake">Installation of GNU Make</a>
<div class="texttohide">
<p>
<ol>
@@ -150,8 +128,7 @@ make
</div>
<div class="textbox" id="InstallationOfGNUCompiler">
- <a href="#hide2" class="hide" id="hide2">Installation of GNU C++ Compiler 4.0</a>
- <a href="#show2" class="show" id="show2">Installation of GNU C++ Compiler 4.0</a>
+ <a href="#InstallationOfGNUCompiler">Installation of GNU C/C++ Compiler</a>
<div class="texttohide">
<p> If the build-essential were already installed in the step before, this step can be skipped.
<ol>
@@ -171,8 +148,7 @@ make
</div>
<div class="textbox" id="InstallationOfYASM">
- <a href="#hide3" class="hide" id="hide3">Installation of YASM</a>
- <a href="#show3" class="show" id="show3">Installation of YASM</a>
+ <a href="#InstallationOfYASM">Installation of YASM</a>
<div class="texttohide">
<p>
<ol>
@@ -192,8 +168,7 @@ make
</div>
<div class="textbox" id="InstallationOfPKGConfig">
- <a href="#hide4" class="hide" id="hide4">Installation of pkg-config</a>
- <a href="#show4" class="show" id="show4">Installation of pkg-config</a>
+ <a href="#InstallationOfPKGConfig">Installation of pkg-config</a>
<div class="texttohide">
<p>
<ol>
@@ -213,8 +188,7 @@ make
</div>
<div class="textbox" id="InstallationOfwxWidgets">
- <a href="#hide5" class="hide" id="hide5">Installation of wxWidgets 3.2</a>
- <a href="#show5" class="show" id="show5">Installation of wxWidgets 3.2</a>
+ <a href="#InstallationOfwxWidgets">Installation of wxWidgets 3.2</a>
<div class="texttohide">
<p>
<ol>
@@ -224,18 +198,8 @@ make
<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>
+ sudo apt update <br>
+ sudo apt install libwxgtk3.0-gtk3-dev <br>
</code>
</li>
</ol>
@@ -244,8 +208,7 @@ make
</div>
<div class="textbox" id="InstallationOfFuse">
- <a href="#hide6" class="hide" id="hide6">Installation of libfuse</a>
- <a href="#show6" class="show" id="show6">Installation of libfuse</a>
+ <a href="#InstallationOfFuse">Installation of libfuse</a>
<div class="texttohide">
<p>
<ol>
@@ -263,10 +226,29 @@ make
</p>
</div>
</div>
+
+<div class="textbox" id="InstallationOfPCSCLite">
+ <a href="#InstallationOfPCSCLite">Installation of libpcsclite</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install libpcsclite-dev
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+</div>
<div class="textbox" id="DownloadVeraCrypt">
- <a href="#hide7" class="hide" id="hide7">Download VeraCrypt</a>
- <a href="#show7" class="show" id="show7">Download VeraCrypt</a>
+ <a href="#DownloadVeraCrypt">Download VeraCrypt</a>
<div class="texttohide">
<p>
<ol>
@@ -287,21 +269,24 @@ make
</div>
<div class="textbox" id="CompileVeraCrypt">
- <a href="#hide8" class="hide" id="hide8">Compile VeraCrypt</a>
- <a href="#show8" class="show" id="show8">Compile VeraCrypt</a>
+ <a href="#CompileVeraCrypt">Compile VeraCrypt</a>
<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>
+ 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>
+ For that, you need to dowload wxWidgets sources, extract them to a location of your choice and then run the following commands: <br>
+ <code>
+ make NOGUI=1 WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources wxbuild <br>
+ make NOGUI=1 WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources
+ </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>
+ If you are not using the system wxWidgets library, you will have to download and use wxWidgets sources like the remark above but this time the following commands should be run to build GUI version of VeraCrypt (NOGUI is not specified): <br>
<code>
- make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild <br>
- make NOGUI=1 WXSTATIC=1
+ make WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources wxbuild <br>
+ make WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources
</code>
</li>
</ul>