====== Installing EDE on Minix ======
===== Introduction =====
[[http://www.minix3.org | 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 [[http://www.minix3.org/iso/snapshot/ | 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 [[http://wiki.minix3.org/en/UsersGuide/UsingSharedLibraries | these instructions]];
shared libraries are enabled by default on latest ''Minix'' development snapshots or versions //>3.2.1//.
====== Installing DBus ======
''Minix'' uses [[http://pkgsrc.se | 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.