Patches needed to compile and install EDE on MINIX 3.4
PrerequisitesPermalink
Many packages required can be installed by pkgin
, such as fltk
, and dbus
. Check this page for a list.
Compiling EDELIBPermalink
Warnings with ‘libfontconfig.so’Permalink
You may see warnings indicating libfontconfig.so.2
may conflict with libfontconfig.so.1
. You can just use pkgin
to remove fontconfig
.
Errors with ‘is_macro’ and similarPermalink
You will see jam throwing errors about ‘is_macro’, ‘is_inport’, and ‘is_outport’. To resolve this, edit the file src/ts/scheme.c
and remove the word INLINE
from each INTERFACE INLINE int
line for these three variables.
Source: [https://sourceforge.net/p/ede/discussion/249616/thread/f1b2dd27/#25af](<> https://sourceforge.net/p/ede/discussion/249616/thread/f1b2dd27/#25af>)
Compiling EDEPermalink
Package config path for EDELIBPermalink
Run this in-line or add it to your ~/.profile
or ~/.bashrc
file
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
Errors about ext/slist
in pekwm/observable.hh
Permalink
ext/slist
seems to be provided only in gcc’s libstdc++
but not Clang’s. Since we only have Clang (unless you want to compile and install gcc), we need to patch the source files to use forward_list
instead of ext/slist
. This is a really fun part. You need to look for these codes and do the replacement in the source (including config files):
- Replace all instances of
__gnu_cxx::slist
andslist
withstd::forward_list
- Replace
ext/slist
withforward_list
- There’s a definition of
SLIST_NAMESPACE
, define it tostd
instead.
Moreover, forward_list does not have a .size()
method. Therefore, in observer.cc
, replace all instances with .empty()
.
Error about libdl
Permalink
To avoid the error in linking ede-panel/ede-panel
due to a lack of a separate libdl
(recent MINIX3 uses ld.elf_so
; see also here), go to ede-panel/Jamfile
, and comment out the line
LinkAgainst ede-panel : -ldl ;
To this point, I was able to compile and install both EDE and EDELIB without errors. However, I am yet able to startede successfully.
[Unconfirmed] In case of dynamic linking issues, I edited
ede-panel/AppletManager.cpp
and get rid of dlopen(). Not sure if this is necessary but it’s yet helpful.