Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] open-mpi on Mac OS 10.9 (Mavericks)
From: Meredith, Karl (karl.meredith_at_[hidden])
Date: 2013-11-26 15:33:29


Here are the results of those two commands:

$ )mpic++ -show
g++ -I/Users/meredithk/tools/openmpi/include -L/Users/meredithk/tools/openmpi/lib -lmpi_cxx -lmpi -lm

$ )otool -L /Users/meredithk/tools/openmpi/lib/libmpi_cxx.dylib
/Users/meredithk/tools/openmpi/lib/libmpi_cxx.dylib:
        /Users/meredithk/tools/openmpi/lib/libmpi_cxx.1.dylib (compatibility version 2.0.0, current version 2.2.0)
        /Users/meredithk/tools/openmpi/lib/libmpi.1.dylib (compatibility version 2.0.0, current version 2.8.0)
        /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.18.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
        /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

It looks like libstdc++ is being used and g++ is being used.

Karl

On Nov 25, 2013, at 6:56 PM, Pierre Jolivet <jolivet_at_[hidden]> wrote:

> Karl,
> What does “mpic++ -show” returns ? It is possible that you are compiling/linking with “c++”, which will defaults to clang++, while you compiled OpenMPI with g++.
> Since libstdc++ and libc++ have incompatible ABI, that might be why you are getting a wrong behavior.
> Also, it could be worthwhile to have a look at “otool -L /Users/meredithk/tools/openmpi/lib/libmpi_cxx.dylib"
> Pierre
>
> On Nov 25, 2013, at 7:38 AM, Meredith, Karl <karl.meredith_at_[hidden]> wrote:
>
>> I do have DYLD_LIBRARY_PATH set as well, and I get the same problem:
>>
>> DYLD_LIBRARY_PATH=/Users/meredithk/tools/openmpi/lib
>>
>> Here’s the directory listing of /Users/meredithk/tools/openmpi/lib
>>
>> $ )ls -1
>> libmca_common_sm.3.dylib*
>> libmca_common_sm.dylib@
>> libmca_common_sm.la*
>> libmpi.1.dylib*
>> libmpi.dylib@
>> libmpi.la*
>> libmpi_cxx.1.dylib*
>> libmpi_cxx.dylib@
>> libmpi_cxx.la*
>> libmpi_f77.1.dylib*
>> libmpi_f77.dylib@
>> libmpi_f77.la*
>> libmpi_f90.a
>> libmpi_f90.la*
>> libompitrace.0.dylib*
>> libompitrace.dylib@
>> libompitrace.la*
>> libopen-pal.4.dylib*
>> libopen-pal.dylib@
>> libopen-pal.la*
>> libopen-rte.4.dylib*
>> libopen-rte.dylib@
>> libopen-rte.la*
>> libopen-trace-format.1.dylib*
>> libopen-trace-format.a
>> libopen-trace-format.dylib@
>> libopen-trace-format.la*
>> libotfaux.0.dylib*
>> libotfaux.a
>> libotfaux.dylib@
>> libotfaux.la*
>> libvt-hyb.0.dylib*
>> libvt-hyb.a
>> libvt-hyb.dylib@
>> libvt-hyb.la*
>> libvt-mpi-unify.0.dylib*
>> libvt-mpi-unify.a
>> libvt-mpi-unify.dylib@
>> libvt-mpi-unify.la*
>> libvt-mpi.0.dylib*
>> libvt-mpi.a
>> libvt-mpi.dylib@
>> libvt-mpi.la*
>> libvt-mt.0.dylib*
>> libvt-mt.a
>> libvt-mt.dylib@
>> libvt-mt.la*
>> libvt-pomp.a
>> libvt-pomp.la*
>> libvt.0.dylib*
>> libvt.a
>> libvt.dylib@
>> libvt.la*
>> mpi.mod*
>> openmpi/
>> pkgconfig/
>>
>>
>> I don’t notice anything out of ordinary.
>>
>> Karl
>>
>>
>> On Nov 25, 2013, at 8:31 AM, Reuti <reuti_at_[hidden]> wrote:
>>
>>> Am 25.11.2013 um 14:25 schrieb Meredith, Karl:
>>>
>>>> I do have these two environment variables set:
>>>>
>>>> LD_LIBRARY_PATH=/Users/meredithk/tools/openmpi/lib
>>>
>>> On a Mac it should DYLD_LIBRARY_PATH - and there are *.dylib files in your /Users/meredithk/tools/openmpi/lib?
>>>
>>> -- Reuti
>>>
>>>
>>>> PATH=/Users/meredithk/tools/openmpi/bin
>>>>
>>>> Running mpirun seems to work fine with a simple command, like hostname:
>>>>
>>>> $ )mpirun -n 2 hostname
>>>> meredithk-mac.corp.fmglobal.com
>>>> meredithk-mac.corp.fmglobal.com
>>>>
>>>> I am trying to run the simple hello_cxx example from the openmpi distribution, compiled as such:
>>>> mpic++ -g hello_cxx.cc -o hello_cxx
>>>>
>>>> It compiles fine, without warning or error. However, when I go to run the example, it stalls on the MPI::Init() command:
>>>> mpirun -np 1 hello_cxx
>>>> It never errors out or crashes. It simply hangs.
>>>>
>>>> I am using the same mpic++ and mpirun version:
>>>> $ )which mpirun
>>>> /Users/meredithk/tools/openmpi/bin/mpirun
>>>>
>>>> $ )which mpic++
>>>> /Users/meredithk/tools/openmpi/bin/mpic++
>>>>
>>>> Not quite sure what else to check.
>>>>
>>>> Karl
>>>>
>>>>
>>>> On Nov 23, 2013, at 5:29 PM, Ralph Castain <rhc_at_[hidden]> wrote:
>>>>
>>>>> Strange - I run on Mavericks now without problem. Can you run "mpirun -n 1 hostname"?
>>>>>
>>>>> You also might want to check your PATH and LD_LIBRARY_PATH to ensure you have the prefix where you installed OMPI 1.6.5 at the front. Mac distributes a very old version of OMPI with its software and you don't want to pick it up by mistake.
>>>>>
>>>>>
>>>>> On Nov 22, 2013, at 1:45 PM, Meredith, Karl <karl.meredith_at_[hidden]> wrote:
>>>>>
>>>>>> I recently upgraded my 2013 Macbook Pro (Retina display) from 10.8 to 10.9. I downloaded and installed openmpi-1.6.5 and compiled it with gcc 4.8 (gcc installed from macports).
>>>>>> openmpi compiled and installed without error.
>>>>>>
>>>>>> However, when I try to run any of the example test cases, the code gets stuck inside the first MPI::Init() call and never returns.
>>>>>>
>>>>>> Any thoughts on what might be going wrong?
>>>>>>
>>>>>> The same install on OS 10.8 works fine and the example test cases run without error.
>>>>>>
>>>>>> Karl
>>>>>>
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> users_at_[hidden]
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users