I'm trying to build/package OpenMPI 1.8.4 with CUDA support enabled on Linux
x86_64 so that the compiled software can be downloaded/installed as one of the
dependencies of a project I'm working on with no further user configuration.  I
noticed that MPI programs built with the above will try to access
/usr/lib/i386-linux-gnu/libcuda.so.1 (and obviously complain about it being the
wrong ELF class) if /usr/lib/i386-linux-gnu precedes /usr/lib/x86_64-linux-gnu
in one's ld.so cache. While one can get around this by modifying one's ld.so
configuration (or tweaking LD_LIBRARY_PATH), is there some way to compile
OpenMPI such that programs built with it (on x86_64) look for the full soname of
libcuda.so.1 - i.e., /usr/lib/x86_64-linux-gnu/libcuda.so.1 - rather than fall
back on ld.so? I tried setting the rpath of MPI programs built with the above
(by modifying the OpenMPI compiler wrappers to include -Wl,-rpath
-Wl,/usr/lib/x86_64-linux-gnu), but that doesn't seem to help.
-- 
Lev Givon
Bionet Group | Neurokernel Project
http://www.columbia.edu/~lev/
http://lebedov.github.io/
http://neurokernel.github.io/

Reply via email to