Build requirements Before you can start compiling, you need a couple of packages that are required to compile Xfce. Use your distributions package manager to install those packages. Additional packages are required too for some modules, but we'll get to that later. A working GNU toolchain Gtk+ and Glib headers, in some distributions called the -devel packages Xfce 4.8 requires Gtk+ 2.14 and Glib 2.20 Xfce 4.6 requires Gtk+ 2.10 and Glib 2.12 pkgconfig Coffee Xfce's dependency chain The Xfce packages need to be built in a specific order. If you don't follow this, compile options might not be available or the configure stage will abort because of missing dependencies. xfce4-dev-tools (only required if you build from GIT) libxfce4util xfconf libxfce4ui (new in 4.8), libxfcegui4 (deprecated since 4.8), libxfce4menu (deprecated since 4.8), garcon (new in 4.8) & exo xfce4-panel thunar xfce4-settings, xfce4-session, xfdesktop, xfwm4, xfce-utils, xfce4-appfinder, ... Installation location and variables Now it is finally time to start compiling the Xfce desktop. Last remaining thing is to choose an installation location. Possible examples are /usr, /usr/local and /opt/xfce4 for a system-wide installation or $HOME/local if you want to install in your home directory (whatever you choose, never put spaces in the name). We will refer to this location as ${PREFIX} in the code examples below! You need to make sure the PKG_CONFIG_PATH variable include the path to the *.pc files installed by the Xfce libraries: export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH" You can also set some optimization flags for the compiler. This may speed up Xfce, but can also make debugging impossible on some systems. Even worse, this can also cause gcc to generate broken code, so be carefull with this. The line below should be safe for most system. export CFLAGS="-O2 -pipe" Compiling and installing Next step is compiling the various packages following the dependency chain above. If you have downloaded the tarballs, you need to unpack them before going on. Inside each package directory you should run the following command: ./configure --prefix=${PREFIX} && make && make install To build from GIT you need to install the xfce4-dev-tools package first, all other packages should be installed with this command: ./autogen.sh --enable-maintainer-mode --prefix=${PREFIX} && make && make install Specific configure options for each package can be shown with ./configure --help. Note that most packages benefit if you pass the configure option --disable-debug, however if you want to provide backtraces or test new code, no CFLAGS, no binary stripping and --enable-debug=full are recommended.