Menu

Getting MIA compiled on FreeBSD

The last few days I have been busy to get MIA to compile on FreeBSD, mostly because this seems to be the closest one can get to Mac OS X, and for the latter a MIA user requested help.

The git HEAD now compiles properly with clang-3.7 and using libc++. Most problems arose from a different behaviour in the explicit instaciation of template, but according to this bug report this might change in newer versions of clang.

Most of the dependencies to compile MIA are readily availabe from the FreeBSD package repositories, however maxflow, vistaio, and IT++ need to be compiled and installed manually. It also seems that xsltproc is not available, and hence the user documentation can not be created.

There are a few problems though:

On one hand the math/blas library is not installed in a usable way, so the shared library /lib/libgcc_s.so.1 must be deleted manually to ensure that the version pulled in by the math/blas package installation is used.
Also note, that IT++ will compile even if the blas library is not correctly found, but the it will miss the funcionality that is used in MIA, namely the FastICA algorithm. This will be indicated by failing tests.

On the other hand, nifticlib is only available as a static library and on amd64 it can not be linked into the according IO plug-in . The workaround here is to re-compile nifticlib with the -fPIC compile flag. Hopefully, this will be added to the package in the future. The according change is already in the works.

Posted by Gert Wollny 2016-06-02

Log in to post a comment.