Compiling the sources

           

          IMPORTANT : YOU NEED TO HAVE A ROOT ACCESS TO INSTALL XFCE PROPERLY.
           

          1) Requirements

          1.a) Linux

          XFce compiles out of the box on most Linux distributions. Although, some distributions do not provide the latest version for Xpm librariy (libXpm). On Debian, for exemple, you'll have to install xpm4g-dev and xpm4-altdev otherwise xfwm will core dump at startup.

          You'll need the XForms library for your system (libc5 or libc6). Using the wrong library can cause some oddities such as wrong time displayed in XFce clock or directories full of "D.." !

          1.b) SUN Solaris (tm)

          To compile XFce on SUN Solaris, you'll need the GNU tools :

          • gcc-2.8.1
          • gzip-1.2.4
          • libXpm-4.7
          • libstdc++-2.8.1.1
          • make-3.76.1
          • unzip-5.32
          These applications can be freely downloaded from SUN or most SUNSite mirrors.

          Of course, you'll also need XForms for Solaris.

          2) Installing from a tar archive

          Once you've retrieved the archives, ie two files that sounds like xfce-2.?.?.tar.gz and xfce-common-2.?.?.tar.gz,

          Untar the source files :
           

            $ tar xfzf xfce-common-2.?.?.tar.gz
            $ tar xvzf xfce-2.?.?.tar.gz
            $ cd xfce-2.?.?
             
          (Of course, replace the question tag by the release version)

          3) Edit Imakefile to suit your system (if needed)

          This point could be optional.. If you are new to Unix, first try without editing the Imakefile
           

            $ vi Imakefile

          4) Edit definition file

          The file called XFCE.def contains all default definitions for compiling XFce on Linux, SUN Solaris and FreeBSD.

          XCOMM Definition options : Please edit !
          XCOMM ==================================

          #define LINUX
          /* #define SOLARIS */
          /* #define BSD */
          #define STATIC
          ...

          By commenting out the system name, you can select which target you want to build. This has no effect on the code itself, it just set the right compile options and directories for the selected system.

          You can change these directories, or even add a new target system by changing/adding the following lines in XFCE.def :

          XCOMM Compile options : Please check !
          XCOMM ================================

          ...
          #ifdef LINUX
          XCOMM
          XCOMM for LINUX
          XCOMM
          XFCE_SYSLIB =  -L/usr/X11/lib -L/usr/X11R6/lib -L/usr/local/lib
          STD_LIBRARIES = -lXext -lX11 -lXpm -lm
          #ifdef STATIC
          XFCE_EXTRA_LIBRARIES = $(USRLIBDIR)/libforms.a $(XFCE_SYSLIB) $(STD_LIBRARIES)
          #else
          XFCE_EXTRA_LIBRARIES =  $(XFCE_SYSLIB) $(STD_LIBRARIES) -lforms
          #endif
          COMPILE_OPTIONS = -O -Wall $(EXTRA_INCLUDES) $(EXTRA_DEFINES)
          LINK_OPTIONS = -O -s
          #endif

          #ifdef SOLARIS
          ...
          #endif

          #ifdef BSD
          ...
          #endif

          XCOMM BINDIR        = /usr/local/bin
          XFCE_DIR       = /var/XFCE
          XBINDIR        = $(BINDIR)
          XFCE_PAL       = $(XFCE_DIR)/palettes
          XFCE_BACKDROPS = $(XFCE_DIR)/backdrops
          XFCE_HELP      = $(XFCE_DIR)/help
          XFCE_ICONS     = $(XFCE_DIR)/icons
          XFCE_SOUNDS    = $(XFCE_DIR)/sounds

          DESTDIR        = $(RPM_BUILD_ROOT)
          DEST_BIN       = $(DESTDIR)$(XBINDIR)
          DEST_XFCE      = $(DESTDIR)$(XFCE_DIR)
          DEST_PAL       = $(DESTDIR)$(XFCE_PAL)
          DEST_BACKDROPS = $(DESTDIR)$(XFCE_BACKDROPS)
          DEST_HELP      = $(DESTDIR)$(XFCE_HELP)
          DEST_ICONS     = $(DESTDIR)$(XFCE_ICONS)
          DEST_SOUNDS    = $(DESTDIR)$(XFCE_SOUNDS)

          EXTRA_INCLUDES =  -I/usr/local/include -I/usr/X11R6/include -I/usr/X11R6/include/X11 -I.
          EXTRA_DEFINES = -DXFCE_ICONS=\"$(XFCE_ICONS)\" -DXFCE_DIR=\"$(XFCE_DIR)\"\
           -DXBINDIR=\"$(XBINDIR)\" -DXFCE_PAL=\"$(XFCE_PAL)\"\
           -DXFCE_BACKDROP=\"$(XFCE_BACKDROPS)\"

          CC=gcc
          CFLAGS=$(COMPILE_OPTIONS)
          LDOPTIONS=$(LINK_OPTIONS)

          For example, you can change the default base directory for binaries to /usr/local/bin by uncommenting out (XCOMM)the line BINDIR = /usr/local/bin

          5) Create all Makefiles
           

            $ xmkmf -a

          If you don't have Imake installed, then you can try with the one shipped in the package or get the makefile that someone else used for your platform, or even better, get Imake from ftp.x.org !
           

          6) Compile and install

          To compile and install XFCE, just type
           

            $ make install

          This would install XFCE, XFwm and XFbd so it can be run from the command line.

          7) Do the same for xfce-common !

          You have to perform actions 2 to 6 for xfce-common.

          8) Choose your default language

          Language is defined through the environment variable XFCE_LANG. This can be set in your $HOME/.xinitrc startup file  :
           

            $ export XFCE_LANG="fr"
            $ export XFCE_LANG="en"
            $ export XFCE_LANG="it"
            $ export XFCE_LANG="de"
            $ export XFCE_LANG="hu"
            $ export XFCE_LANG="es"
            $ export XFCE_LANG="sk"
            $ export XFCE_LANG="pt"