Elven issues...
Feb. 4th, 2015 10:11 pmA series of interesting, if exotic and unnecessary, experiments with ELF files, changing some of fields with a binary editor in order to fix a run-time linking problem without resorting to either
Eventually I realised that in order to get NumPy to pick up the MKL LAPACK and BLAS routines, I had to use patchelf on the shared objects to explicitly add the MKL directory to the
Fortunately, a potential saviour is already close at hand: conda, as championed by the Iris people. This essentially automates the steps of downloading, building, and binary editing the rpaths to create a relocatable set of packages all of which can be neatly contained in their own distribution channels — ideal for those of us who want to us it to install in a shared root file system...
$LD_LIBRARY_PATH
or ld.so.conf
— madness yet there is method in it, for most of the time the system is being used for cross-compilation.Eventually I realised that in order to get NumPy to pick up the MKL LAPACK and BLAS routines, I had to use patchelf on the shared objects to explicitly add the MKL directory to the
RPATH
in the various .so
objects. Not pleasant but better, perhaps, than risking all sorts of compile time confusion by setting the library paths for the host system rather than the target one, simply to allow people to use numpy.Fortunately, a potential saviour is already close at hand: conda, as championed by the Iris people. This essentially automates the steps of downloading, building, and binary editing the rpaths to create a relocatable set of packages all of which can be neatly contained in their own distribution channels — ideal for those of us who want to us it to install in a shared root file system...