Quote:
Originally Posted by Habitual
Please cite this reference, Thank you.
|
i did as per the official website
Dependencies
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.10 requires Gtk+ 2.20 and Glib 2.24
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, garcon, libxfcegui4 1)
exo
xfce4-panel
thunar
xfce4-settings, xfce4-session, xfdesktop, xfwm4, xfce-utils 2), xfce4-appfinder, …
Package specific dependencies
Some core packages in Xfce have additional or optional dependencies, all are listed in the table below for the latest stable version. We only show the top-dependency (so xfce4-panel also requires gtk+, but libxfce4ui already depends on that).
Note that some of the package-names may vary between distributions.
Dependency(-ies) Optional Dependency(-ies)
xfce4-dev-tools autoconf, automake, intltool, pkgconfig
libxfce4util glib 3)
xfconf libxfce4util, dbus-glib
libxfce4ui libxfce4util, gtk+, xfconf libstartup-notification, libgladeui
garcon gio, libxfce4util 4)
libxfcegui4 5) libxfce4util, gtk+, libglade libstartup-notification, libgladeui, xfconf
exo libxfce4util, gtk+, perl-uri, libxfce4ui 6)
xfce4-panel libxfce4ui, exo, garcon, libwnck libstartup-notification
thunar libxfce4ui, exo, libpng, gtk+, glib libexif, dbus-glib, gconf, libnotify, libstartup-notification, freetype, libjpeg, libxfce4panel, xfconf
xfce4-settings libxfce4ui, exo, xfconf, dbus-glib, libXi, libXrandr libXcursor, libnotify
xfce4-session libxfce4ui, perl-xml-parser, libwnck, dbus-glib gnome-keyring, gconf 7)
xfwm4 libxfce4util, libxfce4ui, libxfconf, dbus-glib, libwnck libstartup-notification
xfdesktop libxfce4ui, xfconf, libwnck, exo 8) thunarx, garcon, libnotify
xfce4-appfinder libxfce4ui, garcon, gio 9)
xfce-utils 10) libxfce4ui dbus-glib
gtk-xfce-engine-2 gtk+
tumbler dbus-glib, gio, gmodule, gdk-pixbuf freetype-config (fonts), jpeg (jpeg thumbnails from exif), libffmpegthumbnailer (video), gstreamer-0.10 (video), poppler-glib (pdf), libgsf (odf), libopenraw-gnome (various raw images)
Building
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 careful with this. The line below should be safe for most system.
export CFLAGS="-O2 -pipe"
If you want a debugging environment, unset the CFLAGS and use --enable-debug, see below for the different debug levels.
export CFLAGS=""
Compiling and installing
Next step is compiling the various packages following the dependency chain above. If you have downloaded the tarballs, you will 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 --prefix=${PREFIX} && make && make install
Specific configure options for each package can be shown with ./configure --help. Note that most packages will see a performance benefit if passed 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. Please note that --disable-debug is not available for xfce4-dev-tools.
When reusing the ./configure script while building from GIT remember to pass the flag --enable-maintainer-mode.
If you install the package in a public prefix, for example /usr or /usr/local, you will need to run make install using sudo. This way, you will be asked for the system administrator password and will have write permissions to install in those locations.
sudo make install
Debug Levels
Most Xfce modules use the m4 macro XDT_FEATURE_DEBUG to manage the debug compiler levels. If so there are a number of options possible for --enable-debug=
no
Cast checks and asserts in the Glib macros are disabled, this might be a tad faster, but it can results in segfaults and unexpected crashes.
minimum
This is the same as --disable-debug. No additional compiler options are added, but checks in Glib are not disabled. This is the recommended level for users and distributions.
yes
A number of $CFLAGS are set to check the code for different errors. During configure you'll see all the options are tested to avoid binaries that do not work.
full
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 backtraces and memory checks. This is the recommended level for developers or users who want to report bugs.
Help
thankfully i'm doing it in vmware not in original one