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
Next revision
Previous revision
Next revisionBoth sides next revision
xfce:building [2019/09/08 01:27] kevinbowenxfce:building [2019/12/09 10:52] – [Released packages] kevinbowen
Line 1: Line 1:
 +~~NOTOC~~
 ====== 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 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.
 +
 +  * **[[building#Choosing your Xfce version|Choosing your Xfce version]]**
 +  * **[[building#Obtaining the Xfce source code|Obtaining the Xfce source code]]**
 +  * **[[building#Xfce dependencies explained|Xfce dependencies explained]]**
 +  * **[[building#Building the packages|Building the packages]]**
 +  * **[[building#Finding additional help|Finding additional help]]**
 +
 +----
  
 ===== Choosing your Xfce version ===== ===== Choosing your Xfce version =====
Line 8: Line 17:
  
 The latest releases available can be found on the [[http://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 [[http://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.
 +
 +----
  
 ===== Obtaining the Xfce source code ===== ===== Obtaining the Xfce source code =====
  
-Once you have decided which version that you want to compile, there are a couple of ways to download the source code. You can either choose to build official released packages, or clone the source repositories. Choosing the released packages is the recommended option. The source repositories could possibly be broken and are not generally suitable for production environments. However, they always contains the latest features, bug fixes and translations.+Once you have decided which version that you want to compile, there are a couple of ways to download the source code. You can either choose to build official released packages, or clone the source repositories. Choosing the released packages is the recommended option. The source repositories could possibly be broken and are not generally suitable for production environments. However, they always contain the latest features, bug fixes and translations.
  
-If your are not sure what to choose, it is easiest to begin with the latest stable fat-tarball of a collection release.+If you are not sure which to choose, it is easiest to begin with the latest stable fat-tarball of a collection release.
  
 ==== Released packages ==== ==== Released packages ====
  
-Xfce packages have two types of releases. Click the linksbelowto open the the download locations.+Xfce packages have two types of releases: collection releases and individual releases. Click the links below to open the relevant download location.
  
   * [[http://archive.xfce.org/xfce/|Collection releases of the core modules]]\\ From time to time a new collection release of Xfce is made. A collection release consists of a number of individual tarballs and a fat-tarball that contains all of the individual tarballs.\\ The collection releases always contains the correct versions needed to build the other packages in the release. If you want the latest version of each package, you can start with a collection release and then look for individual bug fix releases, explained in the item below.    * [[http://archive.xfce.org/xfce/|Collection releases of the core modules]]\\ From time to time a new collection release of Xfce is made. A collection release consists of a number of individual tarballs and a fat-tarball that contains all of the individual tarballs.\\ The collection releases always contains the correct versions needed to build the other packages in the release. If you want the latest version of each package, you can start with a collection release and then look for individual bug fix releases, explained in the item below. 
Line 25: Line 36:
  
 For the latest code, you need to make local copies of the [[https://git.xfce.org/|GIT repositories]]. This is the place where developers submit their code. If you decide to use GIT, try to use the same branch for all the packages to avoid dependency version problems. For the latest code, you need to make local copies of the [[https://git.xfce.org/|GIT repositories]]. This is the place where developers submit their code. If you decide to use GIT, try to use the same branch for all the packages to avoid dependency version problems.
 +
 +<note information>For additional information about using Git with Xfce, see the [[https://docs.xfce.org/contribute/dev/git/start|Xfce and git information]] page.</note>
  
 You first need to make clones of each GIT repository, like the command below, where ''$category'' is for example ''xfce'' and ''$module'' ''xfce4-panel''. If you click on a module in the [[https://git.xfce.org/xfce|online repository]] list, the clone uri is shown at the bottom of the page. You first need to make clones of each GIT repository, like the command below, where ''$category'' is for example ''xfce'' and ''$module'' ''xfce4-panel''. If you click on a module in the [[https://git.xfce.org/xfce|online repository]] list, the clone uri is shown at the bottom of the page.
Line 37: Line 50:
  
 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.
-===== Dependencies =====+ 
 +[[|Back To Top]] 
 +---- 
 + 
 +===== Xfce Dependencies explained =====
  
 ==== Build requirements ==== ==== Build requirements ====
Line 91: Line 108:
 ^ tumbler | dbus-glib, gio, gmodule, gdk-pixbuf | freetype-config (fonts), jpeg (jpeg thumbnails from exif), libffmpegthumbnailer (video), gstreamer-1.0 (video), poppler-glib (pdf), libgsf (odf), libopenraw-gnome (various raw images) | ^ tumbler | dbus-glib, gio, gmodule, gdk-pixbuf | freetype-config (fonts), jpeg (jpeg thumbnails from exif), libffmpegthumbnailer (video), gstreamer-1.0 (video), poppler-glib (pdf), libgsf (odf), libopenraw-gnome (various raw images) |
  
-===== Building the packages =====+[[|Back To Top]] 
 +----
  
 +===== Building the packages =====
 ==== Installation location and variables ==== ==== Installation location and variables ====
  
Line 142: Line 161:
 ! Same as the level above, including ''-Werror'' so the compilers aborts during compiler errors. The compiler will also generate binaries with debug information suitable for [[:contribute:bugs:|backtraces]] and memory checks. This is the recommended level for developers or users who want to report bugs. ! Same as the level above, including ''-Werror'' so the compilers aborts during compiler errors. The compiler will also generate binaries with debug information suitable for [[:contribute:bugs:|backtraces]] and memory checks. This is the recommended level for developers or users who want to report bugs.
  
-===== Help =====+[[|Back To Top]] 
 +---- 
 +===== Finding additional Help =====
  
 Hopefully everything went fine after reading this guide. If you still have problems or questions you can ask on the [[http://xfce.org/community#mail|Xfce users mailing list]], the [[http://forum.xfce.org|forum]] or ask distribution related questions on their forums and mailing lists. Hopefully everything went fine after reading this guide. If you still have problems or questions you can ask on the [[http://xfce.org/community#mail|Xfce users mailing list]], the [[http://forum.xfce.org|forum]] or ask distribution related questions on their forums and mailing lists.
Line 148: Line 169:
 Have fun building Xfce! Have fun building Xfce!
  
 +[[|Back To Top]]
 +----
 +[[:start|Back to main Xfce documentation page]]