On Fri, 27 Mar 2009, Tree wrote:
> Dear All
> Thank you for your help first.
>
> I have a problem to compile LAMMPS under LAM-MPI 7.1.3 environment on my
> Macbook (OS X 10.5)
> Compiling is okay, but after that it gives an error.
>
> ./lmp_mac_reax_mpi
> dyld: Symbol not found: _ompi_request_null
> Referenced from: /usr/lib/libmpi_cxx.0.dylib
> Expected in: dynamic lookup
>
> I think this is related to dynamic linker, so I added the below one to my
> profile,
>
> export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib:/usr/lib
> export
> DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/usr/local/lib:/usr/lib
>
> Could you please help me on this issue?
The problem is that OS X 10.5 ships with a version of Open MPI in
/usr/lib, built as dynamic libraries. On OS X, your entire library search
path is searched for a .dylib version of a given library, then searched
again for a .a version. So the linker is using Open MPI's version of
some of the libraries. There are a couple of options:
1) Use Open MPI. It's better supported, works great, and comes with
your Mac.
2) Add -Wl,-search_paths_first to your linker flags, which should make
sure you're using the right libraries.
3) Upgrade to the 7.1.5b1 beta tarball available on the LAM web page,
which will automatically add the flag from #2 to the wrapper compiler.
I'd recommend #1, of course, as it will likely result in better support
from the development community. Most of the LAM developers have stopped
working on LAM and started working on Open MPI, so support for LAM is
currently minimal.
Hope this helps,
Brian
--
Brian Barrett
LAM/MPI Developer
Make today a LAM/MPI day!
|