xyzLinux
Friday, April 08, 2005
 
How to port XFCE to interix ?
Today, I decide to start port XFCE to interix. I search through www.xfce.org and found that XFCE depend on the following modules:

Xfce 4 requirements

  1. Building Xfce 4 modules depends on :
    pkgconfig , a system for managing library compile/link flags that works with automake and autoconf.
  2. GTK+ >= 2.2 (also dev packages), the GIMP multi-platform toolkit designed for creating graphical user interfaces.
  3. libxml2, a XML C library developed for the Gnome project.
  4. libdbh, the "Disk based hashtables" library, is needed for xffm, the file manager.

Make sure you have these packages (and their *-devel packages) installed.

Optional dependencies :

  1. librsvg >= 2.2.x, a SAX-based renderer library for SVG files, that has to be installed if you want to use SVG icons for the panel.
  2. libstartup-notification >= 0.5, a library that has to be installed if you want to use the startup notification feature.

Out of the 4 dependant modules, three of them already avaiable in interix which can be download from Tool Warehouse. libdbh need to be ported to interix first.

Working procedure:

  1. Download source under /sfu/sources/contrib/dbh-1.0.24
    This package is able to compile without problem.
  2. Add package gtk+ and find the following error:
    Fixed this by using command "pkg_add -v -f packagename" to force the installation. The dependency in toolwarehouse is quite mess.
  3. I can download xfce source and start to compile it now.

Building the modules


If you have downloaded the source tarballs, unpack them.

If you install into a different prefix from pkg-config, you have to set the PKG_CONFIG_PATH variable to include the path to the *.pc files installed by the Xfce 4 libraries, which is ${prefix}/lib/pkgconfig. For example:

Building the modules should be a simple matter of typing :

./configure && make && make install

in the top directory of each module, in the following build order :

  1. libxfce4util
  2. libxfcegui4
  3. libxfce4mcs
  4. xfce-mcs-manager
  5. all other modules (you have to install xfce4 panel before compiling panel plugins).
    dbh-1.0.22.tar.gz
    libxfce4util-4.2.1.tar.gz
    libxfcegui4-4.2.1.tar.gz
    libxfce4mcs-4.2.1.tar.gz
    xfce-mcs-manager-4.2.1.tar.gz
    xfce-mcs-plugins-4.2.1.tar.gz
    gtk-xfce-engine-2.2.6.tar.gz
    xfcalendar-4.2.1.tar.gz
    xfce-utils-4.2.1.tar.gz
    xfce4-appfinder-4.2.1.tar.gz
    xfce4-icon-theme-4.2.1.tar.gz
    xfce4-iconbox-4.2.1.tar.gz
    xfce4-mixer-4.2.1.tar.gz
    xfce4-panel-4.2.1.1.tar.gz
    xfce4-session-4.2.1.tar.gz
    xfce4-systray-4.2.1.tar.gz
    xfce4-toys-4.2.1.tar.gz
    xfce4-trigger-launcher-4.2.1.tar.gz
    xfdesktop-4.2.1.tar.gz
    xffm-4.2.1.tar.gz
    xfprint-4.2.1.tar.gz
    xfwm4-4.2.1.tar.gz
    xfwm4-themes-4.2.1.tar.gz

libtool error
xfce4-systray-4.2.1.tar.gz
xfdesktop-4.2.1.tar.gz
Cannot compile file manager
xffm-4.2.1.tar.gz cannot compile xfprint-4.2.1.tar.gz

xfce4-mixer-4.2.1.tar.gz compilation error:

vc_oss.c:81: error: `SOUND_MIXER_NRDEVICES' undeclared here (not in a function)vc_oss.c:81: error: `SOUND_DEVICE_LABELS' undeclared here (not in a function)
vc_oss.c: In function `find_master':
vc_oss.c:100: error: `SOUND_MIXER_READ_DEVMASK' undeclared (first use in this function)
vc_oss.c:100: error: (Each undeclared identifier is reported only oncevc_oss.c:100: error: for each function it appears in.)
vc_oss.c:107: error: `SOUND_MIXER_NRDEVICES' undeclared (first use in this function)vc_oss.c: In function `find_control':
vc_oss.c:161: error: `SOUND_MIXER_NRDEVICES' undeclared (first use in this function)vc_oss.c: In function `vc_get_control_list':
vc_oss.c:250: error: `SOUND_MIXER_NRDEVICES' undeclared (first use in this function)vc_oss.c: At top level:
vc_oss.c:81: error: storage size of `label' isn't known

After installing a library you should run ldconfig. It may be necessary to add /usr/local to /etc/ld.so.conf.

If there are errors, try to run ./autogen.sh instead of ./configure. In that case you need to have automake, autoconf and libtool installed. If this doesn't work please report to the xfce mailing list: xfce4-dev@xfce.org.

The gtk-xfce-engine-2 theme engine has to be installed using the same path as your GTK+ installation, usually /usr. In that case you have to use the following command in the gtk-xfce-engine-2 top directory :



Some FreeBSD document that need to refer to:

  1. FreeBSD Release Engineering
  2. FreeBSD Release Engineering for Third Party Software Packages
  3. Package Building Procedures
  4. Explaining BSD
  5. FreeBSD From Scratch
  6. Installing and Using FreeBSD With Other Operating Systems
  7. Bootstrapping Vinum: A Foundation for Reliable Servers
  8. Design elements of the FreeBSD VM system
  9. Darwin
  10. OpenDarwin


Comments: Post a Comment

<< Home

Powered by Blogger