Installing EDE on Minix

Introduction

Minix is a UNIX-like operating system and was an inspiration for the Linux kernel. It is intended to be run on computers with limited resources (like embedded devices) or for applications which require high reliability.

This tutorial shows how to install and configure the latest version of EDE on Minix. A version greater than 3.2.1 or any recent development snapshot is assumed as the system to install EDE on. Also be aware that this are generic installation instructions. For system tuning or advanced configuration, please contact the Minix community.

:!: Note: If you are going to install Minix on VirtualBox, either avoid versions 3.2.0 and 3.2.1 or try to use development snapshot; there is a bug in these versions which will prevent to start X11.

System Prerequisites

In case you have already configured your OS (e.g. installed Xorg and a C++ compiler) you may skip the following section.

Assuming you are running as root, first update the package database and install X11. Minix comes with the Clang compiler by default and both FLTK and EDE can be compiled with it, so you don't have to install GCC unless you have specific reasons for using that.

The next step is downloading additional tools and libraries, like cURL (to download source archives) and pkg-config (used during the build process).

$ pkgin update
$ pkgin install x11 freetype2 fontconfig curl pkg-config

:!: Note: FLTK and EDE can be compiled without Xft support (font antialiasing) minimizing the overall library usage; just omit freetype2 and fontconfig from command above.

Enabling shared libraries

Minix does not come with shared library support by default on versions <=3.2.1 and this is major issue because ede-panel (desktop panel) loads all widgets/applets from shared libraries (.so files via dlopen).

To enable it, follow these instructions; shared libraries are enabled by default on latest Minix development snapshots or versions >3.2.1.

Installing DBus

Minix uses pkgsrc for downloading and compiling packages from source code so this is the best place to obtain DBus. Stock DBus (official release) can't be compiled on Minix, so you have to use a patched version available only in pkgsrc.

Because DBus is a big obstacle on Minix (it depends on a lot of external libraries which pkgsrc will have to pull), EDE and edelib can be compiled without DBus support. However, this feature was just recently added and is available only on repository right now. To compile EDE and edelib without DBus, just add –disable-dbus to edelib's configure script, like this:

$ ./configure --disable-dbus

edelib will then be compiled without DBus and EDE's code will automatically pick up this option.

Installing FLTK

FLTK also can be compiled from pkgsrc, but for purpose of this tutorial we will compile it from source code. These commands will do it:

$ curl -O http://ftp.easysw.com/pub/fltk/1.3.2/fltk-1.3.2-source.tar.gz
$ tar -xpvf fltk-1.3.1-source.tar.gz
$ cd fltk-1.3.1
$ export LIBS="-lXrender -lfreetype -lexpat"
$ ./configure --prefix=/usr/pkg --x-includes=/usr/pkg/X11R6/include --x-libraries=/usr/pkg/X11R6/lib

If you are using Clang instead of GCC, open the makeinclude file in FLTK's source directory, find the CXX variable and change it, so that instead of

CXX = g++

it reads:

CXX = clang++

This is necessary due to a bug in Minix's autoconf package.

Now run:

$ make && make install

:!: Note: You don't have to use the FLTK version which was chosen here, but make sure to use one of the 1.3.x versions.

Print/export