1 minute read

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.hhPermalink

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 and slist with std::forward_list
  • Replace ext/slist with forward_list
  • There’s a definition of SLIST_NAMESPACE, define it to std instead.

Moreover, forward_list does not have a .size() method. Therefore, in observer.cc, replace all instances with .empty().

Error about libdlPermalink

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.