Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
xfce:building [2026/05/29 08:36] – [Finding additional Help] alexxconsxfce:building [2026/10/25 05:53] (current) – Grammar improvement kevinbowen
Line 3: Line 3:
 ====== Building Xfce from source ====== ====== Building Xfce from source ======
  
-To compile a complete Xfce desktop from source requires some information about the dependency chain and the various configure options available in each module. This page will describe this in detail, so you can compile your own Xfce desktop; both system wide as well as in your $HOME directory.+To compile a complete Xfce desktop from source requires some information about the dependency chain and the various configuration options available in each module. This page will describe these requirements in detail, so that you can compile your own Xfce desktop; both system wide as well as in your $HOME directory.
  
   * **[[building#Choosing your Xfce version|Choosing your Xfce version]]**   * **[[building#Choosing your Xfce version|Choosing your Xfce version]]**
Line 15: Line 15:
 ===== Choosing your Xfce version ===== ===== Choosing your Xfce version =====
  
-First you will need to decide on which version of Xfce that you want to compile. Xfce version numbers are constructed like this: 1.2.3 => major.minor.micro. If the minor version is an even number, this means that it is a stable release. An odd numbered minor version indicate a development, or testing snapshots. The micro number increases with each release. Also, it is recommended to keep the major.minor version the same for the core components (some packages don't follow those numbers) or there will most likely be dependency version problems during compilation.+First you will need to decide on which version of Xfce that you want to compile. Xfce version numbers are constructed like this: 1.2.3 => major.minor.micro. If the minor version is an even number, this means that it is a stable release. An odd numbered minor version indicates a development, or testing snapshot. The micro number increases with each release. Also, it is recommended to keep the major.minor version the same for the core components (some packages don't follow those numbers) or there will most likely be dependency version problems during compilation.
  
 The latest releases available can be found on the [[https://www.xfce.org/download|download]] page. You can also build from the source repositories if you have enough experience. Additional information about this is provided below. The latest releases available can be found on the [[https://www.xfce.org/download|download]] page. You can also build from the source repositories if you have enough experience. Additional information about this is provided below.
Line 44: Line 44:
   git clone https://gitlab.xfce.org/$category/$module   git clone https://gitlab.xfce.org/$category/$module
  
-After the repository is cloned, you will need to choose which branch you want to compile. By default, the ''master'' branch is selected, but there are also branches for stable releases like ''xfce-4.20''. The stable branches contain the latest bug fixes without any major new features, the master branch is the development version for the next release of Xfce. Both should not be used in a production environment.+After the repository is cloned, you will need to choose which branch you want to compile. By default, the ''master'' branch is selected, but there are also branches for stable releases like ''xfce-4.22''. The stable branches contain the latest bug fixes without any major new features, the master branch is the development version for the next release of Xfce. Both should not be used in a production environment.
  
 To switch to another branch (''git branch -a'' lists all available branches) run the following command inside the cloned directory to switch to, for example, the ''xfce-4.20'' branch: To switch to another branch (''git branch -a'' lists all available branches) run the following command inside the cloned directory to switch to, for example, the ''xfce-4.20'' branch:
  
-  git checkout --track origin/xfce-4.20+  git checkout --track origin/xfce-4.22
  
 After this, you can update your local copy of the repository with git pull and switch to another branch with ''git checkout $branchname''. Read the [[http://git-scm.com/documentation|GIT manuals]] for more information about using GIT. After this, you can update your local copy of the repository with git pull and switch to another branch with ''git checkout $branchname''. Read the [[http://git-scm.com/documentation|GIT manuals]] for more information about using GIT.
Line 76: Line 76:
  
 For history, here are the versions needed for older Xfce releases: For history, here are the versions needed for older Xfce releases:
 +    * Xfce 4.20 requires Gtk+ 3.24 and Glib 2.72
     * Xfce 4.18 requires Gtk+ 3.24 and Glib 2.66     * Xfce 4.18 requires Gtk+ 3.24 and Glib 2.66
     * Xfce 4.16 requires Gtk+ 3.22 and Glib 2.50     * Xfce 4.16 requires Gtk+ 3.22 and Glib 2.50
Line 191: Line 192:
  
   sudo make uninstall   sudo make uninstall
 +
 +
 ==== Understanding Debug levels ==== ==== Understanding Debug levels ====