Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] gfortran bindings apparently not built on mac os leopard
From: Brian W. Barrett (brbarret_at_[hidden])
Date: 2008-06-18 09:56:23


Thanks for adding the section, but the information contained within is
wrong (as was the information in this e-mail thread). OS X essentially
*always* adds a -rpath to both executables depending on libraries and
libraries depending on other libraries. There is no need to set
LD_LIBRARY_PATH, which on OS X is only used by the linker at link time and
by dlopen, but not the linker at run time. Setting DYLD_LIBRARY_PATH is
not only unnecessary, but considered harmful. There are very few
situations where one would need to set DYLD_LIBRARY_PATH, and they should
never be part of a production environment.

If you built Open MPI as a set of static libraries, there is a library
search order problem (which neither of the two LIBRARY_PATH variables will
solve) in that OS X searches the entire library path for a shared library
of the specified name, then searches the entire library path again for a
static library of the specified name. Since /usr/lib/libmpi.dylib would
then always be found before <my install/lib/libmpi.a, you'd have a
problem. An easy workaround is to add -Wl,-search_paths_first to the link
line when linking MPI applications. I'd accomplish this by adding the
following to OMPI's configure:

   --with-wrapper-ldflags="-Wl,-search_paths_first"

Getting back to the original problem, unless the user already has set
DYLD_LIBRARY_PATH (which they shouldn't do), there is no need to modify
DYLD_LIBRARY_PATH for OMPI to work properly (even with the system
installed version in /usr/lib). We should not mention DYLD_LIBRARY_PATH
in the FAQ. If we do mention it, it should only be to say that it should
not be set.

Brian

On Wed, 18 Jun 2008, Jeff Squyres wrote:

> FWIW, I added this issue to the FAQ under the "OS X" section to make it a
> little easier to find.
>
> On Jun 17, 2008, at 5:17 PM, Jeff Squyres wrote:
>
>> Sorry for not replying earlier -- glad you figured it out.
>>
>> Yes, if you didn't also reset the LIBRARY_PATH, the "wrong" libmpi (and
>> friends) will get picked up, and it will therefore use the hard-coded
>> directory path in those "wrong" libraries to find the wrapper data text
>> files (the ones without Fortran support).
>>
>>
>> On Jun 17, 2008, at 4:15 PM, Weirs, V Gregory wrote:
>>
>>>
>>> Alright, I’m an idiot. I didn’t adjust my DYLD_LIBRARY_PATH.
>>> Sorry about that-
>>> Greg
>>>
>>> On 6/17/08 7:08 AM, "Jeff Squyres" <jsquyres_at_[hidden]> wrote:
>>>
>>> This is pretty odd.
>>>
>>> What files do you see in $prefix/share/openmpi/mpi*txt?
>>>
>>> What do you see from:
>>>
>>> grep required_file $prefix/share/openmpi/mpi*txt
>>>
>>>
>>>
>>> On Jun 16, 2008, at 2:12 PM, Weirs, V Gregory wrote:
>>>
>>>>
>>>> Dave Gunter:
>>>>
>>>> According to ./configure —help, by default —enable-mpi-f77 and —
>>>> enable-mpi-f90 are set. Also, ompi_info (see output in run_output in
>>>> the tarball) seems to indicate they are there. I rebuilt with them
>>>> just to be sure, and got the same results.
>>>>
>>>>
>>>> Doug Reeder:
>>>> In my run_output file, you can see results of ‘which mpif77’ that
>>>> shows I am using the version I built. (current is a symlink to 1.2.6-
>>>> gcc4.0). In any case, I get the same results with the absolute path /
>>>> usr/local/openmpi/1.2.6-4.0/bin/mpif77.
>>>>
>>>>
>>>> Thanks,
>>>> Greg
>>>>
>>>>
>>>> On 6/16/08 11:04 AM, "users-request_at_[hidden]"
>>>> <users-request_at_[hidden]
>>>> > wrote:
>>>>
>>>> Send users mailing list submissions to
>>>> users_at_[hidden]
>>>>
>>>> To subscribe or unsubscribe via the World Wide Web, visit
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> or, via email, send a message with subject or body 'help' to
>>>> users-request_at_[hidden]
>>>>
>>>> You can reach the person managing the list at
>>>> users-owner_at_[hidden]
>>>>
>>>> When replying, please edit your Subject line so it is more specific
>>>> than "Re: Contents of users digest..."
>>>>
>>>>
>>>> Today's Topics:
>>>>
>>>> 1. Re: gfortran bindings apparently not built on mac os
>>>> leopard
>>>> (David Gunter)
>>>> 2. Re: gfortran bindings apparently not built on mac os
>>>> leopard
>>>> (Doug Reeder)
>>>> 3. Re: gfortran bindings apparently not built on mac os
>>>> leopard
>>>> (Doug Reeder)
>>>> 4. help me please, about Open MPI (Tony Smith)
>>>> 5. Re: help me please, about Open MPI (Andreas Sch?fer)
>>>>
>>>>
>>>> ----------------------------------------------------------------------
>>>>
>>>> Message: 1
>>>> Date: Mon, 16 Jun 2008 10:37:22 -0600
>>>> From: David Gunter <dog_at_[hidden]>
>>>> Subject: Re: [OMPI users] gfortran bindings apparently not built on
>>>> mac os leopard
>>>> To: Open MPI Users <users_at_[hidden]>
>>>> Message-ID: <4683C284-4FEF-45CA-A2BC-8BE91A439485_at_[hidden]>
>>>> Content-Type: text/plain; charset="windows-1252"; Format="flowed";
>>>> DelSp="yes"
>>>>
>>>> I believe you still must add "--enable-f77" and "--enable-f90" to the
>>>> OMPI configure line in addition to setting the FC and F77 env
>>>> variables.
>>>>
>>>> -david
>>>> --
>>>> David Gunter
>>>> HPC-3: Parallel Tools Team
>>>> Los Alamos National Laboratory
>>>>
>>>> On Jun 16, 2008, at 10:25 AM, Weirs, V Gregory wrote:
>>>>
>>>> >
>>>> >
>>>> > I am having trouble building mpif77/mpif90 with gfortran on Mac OS
>>>> > 10.5. Or maybe just running. The configure, make all, and make
>>>> > install seemed to go just fine, finding my gfortran and apparently
>>>> > using it, but the scripts mpif77 and mpif90 give the error that my
>>>> > openmpi was not built with fortran bindings. Mpicc and mpicxx don?t
>>>> > give this error. Ompi_info says the f77 and f90 bindings were
>>>> built.
>>>> >
>>>> > I know that OS X 10.5 comes with openmpi mpicc and mpicxx installed,
>>>> > but not fortran bindings, and I was careful to put the openmpi I
>>>> > built first in the path.
>>>> >
>>>> > Some run output (mpif77 ?version, ompi_info), config.log,
>>>> > configure.log, make.out, make-install.out are in the attached
>>>> tarball.
>>>> >
>>>> > Any clues?
>>>> >
>>>> > Thanks,
>>>> > Greg
>>>> >
>>>> >
>>>> > --
>>>> > V. Gregory Weirs
>>>> > Sandia National Laboratories vgweirs_at_[hidden]
>>>> > P.O.Box 5800, MS 0378 phone: 505 845 2032
>>>> > Albuquerque, NM 87185-0378 fax: 505 284 0154
>>>> > <dig.tar.gz>_______________________________________________
>>>> > users mailing list
>>>> > users_at_[hidden]
>>>> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>> -------------- next part --------------
>>>> HTML attachment scrubbed and removed
>>>>
>>>> ------------------------------
>>>>
>>>> Message: 2
>>>> Date: Mon, 16 Jun 2008 09:32:21 -0700
>>>> From: Doug Reeder <dlr_at_[hidden]>
>>>> Subject: Re: [OMPI users] gfortran bindings apparently not built on
>>>> mac os leopard
>>>> To: Open MPI Users <users_at_[hidden]>
>>>> Message-ID: <5047581C-F2E2-473B-8576-3E11F0D54DEA_at_[hidden]>
>>>> Content-Type: text/plain; charset="windows-1252"; Format="flowed";
>>>> DelSp="yes"
>>>>
>>>> Greg,
>>>>
>>>> If you use the absolute path names to run your mpif77 and mpif90 what
>>>> output do you get. In spite of the results from which mpif77, the
>>>> outputs from mpif77 and mpif90 look suspiciously like the outputs
>>>> from the apple supplied versions in /usr/bin.
>>>>
>>>> Doug Reeder
>>>> On Jun 16, 2008, at 9:25 AM, Weirs, V Gregory wrote:
>>>>
>>>> >
>>>> >
>>>> > I am having trouble building mpif77/mpif90 with gfortran on Mac OS
>>>> > 10.5. Or maybe just running. The configure, make all, and make
>>>> > install seemed to go just fine, finding my gfortran and apparently
>>>> > using it, but the scripts mpif77 and mpif90 give the error that my
>>>> > openmpi was not built with fortran bindings. Mpicc and mpicxx don?t
>>>> > give this error. Ompi_info says the f77 and f90 bindings were
>>>> built.
>>>> >
>>>> > I know that OS X 10.5 comes with openmpi mpicc and mpicxx
>>>> > installed, but not fortran bindings, and I was careful to put the
>>>> > openmpi I built first in the path.
>>>> >
>>>> > Some run output (mpif77 ?version, ompi_info), config.log,
>>>> > configure.log, make.out, make-install.out are in the attached
>>>> tarball.
>>>> >
>>>> > Any clues?
>>>> >
>>>> > Thanks,
>>>> > Greg
>>>> >
>>>> >
>>>> > --
>>>> > V. Gregory Weirs
>>>> > Sandia National Laboratories vgweirs_at_[hidden]
>>>> > P.O.Box 5800, MS 0378 phone: 505 845 2032
>>>> > Albuquerque, NM 87185-0378 fax: 505 284 0154
>>>> > <dig.tar.gz>
>>>> > _______________________________________________
>>>> > users mailing list
>>>> > users_at_[hidden]
>>>> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>> -------------- next part --------------
>>>> HTML attachment scrubbed and removed
>>>>
>>>> ------------------------------
>>>>
>>>> Message: 3
>>>> Date: Mon, 16 Jun 2008 09:42:55 -0700
>>>> From: Doug Reeder <dlr_at_[hidden]>
>>>> Subject: Re: [OMPI users] gfortran bindings apparently not built on
>>>> mac os leopard
>>>> To: Open MPI Users <users_at_[hidden]>
>>>> Message-ID: <08B5C06D-8B64-4189-ADAE-E9FBE6BE567F_at_[hidden]>
>>>> Content-Type: text/plain; charset="windows-1252"; Format="flowed";
>>>> DelSp="yes"
>>>>
>>>> Greg,
>>>>
>>>> In your run_output file you don't appear to be using the openmpi
>>>> versions that you built. From your make-install.out file it looks
>>>> like your versions are in /usr/local/openmpi/1.2.6-gcc4.0/bin. You
>>>> need to use that absolute path or prepend that path to your PATH
>>>> environment variable.
>>>>
>>>> Doug Reeder
>>>> On Jun 16, 2008, at 9:25 AM, Weirs, V Gregory wrote:
>>>>
>>>> >
>>>> >
>>>> > I am having trouble building mpif77/mpif90 with gfortran on Mac OS
>>>> > 10.5. Or maybe just running. The configure, make all, and make
>>>> > install seemed to go just fine, finding my gfortran and apparently
>>>> > using it, but the scripts mpif77 and mpif90 give the error that my
>>>> > openmpi was not built with fortran bindings. Mpicc and mpicxx don?t
>>>> > give this error. Ompi_info says the f77 and f90 bindings were
>>>> built.
>>>> >
>>>> > I know that OS X 10.5 comes with openmpi mpicc and mpicxx
>>>> > installed, but not fortran bindings, and I was careful to put the
>>>> > openmpi I built first in the path.
>>>> >
>>>> > Some run output (mpif77 ?version, ompi_info), config.log,
>>>> > configure.log, make.out, make-install.out are in the attached
>>>> tarball.
>>>> >
>>>> > Any clues?
>>>> >
>>>> > Thanks,
>>>> > Greg
>>>> >
>>>> >
>>>> > --
>>>> > V. Gregory Weirs
>>>> > Sandia National Laboratories vgweirs_at_[hidden]
>>>> > P.O.Box 5800, MS 0378 phone: 505 845 2032
>>>> > Albuquerque, NM 87185-0378 fax: 505 284 0154
>>>> > <dig.tar.gz>
>>>> > _______________________________________________
>>>> > users mailing list
>>>> > users_at_[hidden]
>>>> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>> -------------- next part --------------
>>>> HTML attachment scrubbed and removed
>>>>
>>>> ------------------------------
>>>>
>>>> Message: 4
>>>> Date: Mon, 16 Jun 2008 12:51:31 -0400
>>>> From: Tony Smith <dtustudy8_at_[hidden]>
>>>> Subject: [OMPI users] help me please, about Open MPI
>>>> To: <users_at_[hidden]>
>>>> Message-ID: <BAY104-W32BC5D00DA99730856FD48FDA90_at_phx.gbl>
>>>> Content-Type: text/plain; charset="windows-1252"
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Dear Sir:
>>>>
>>>>
>>>>
>>>> I am trying to install Open MPI on a cluster that has been installed
>>>> with mpich-
>>>>
>>>> gm MPI.
>>>>
>>>>
>>>>
>>>> I have followed the steps on your website.
>>>>
>>>> I can compile and run the Hello_c application correctly.
>>>>
>>>>
>>>>
>>>> But, how can I make sure that the application is run by Open MPI not
>>>> by mpich-
>>>>
>>>> gm MPI ?
>>>>
>>>>
>>>>
>>>> I have changed PATH and LD_LIBRARY_PATH:
>>>>
>>>>
>>>>
>>>> I deleted /opt/mpich-gm/bin from PATH and added
>>>>
>>>> /ptmp/myname/openmpi123/ompi123_install/bin/ into PATH.
>>>>
>>>>
>>>>
>>>> LD_LIBRARY_PATH=/ptmp/myname/openmpi123/ompi123_install/lib
>>>>
>>>>
>>>>
>>>> And then, I got
>>>>
>>>>
>>>>
>>>> -bash-3.00$ which mpirun
>>>> /ptmp/myname/openmpi123/ompi123_install/bin/mpirun
>>>>
>>>>
>>>>
>>>> In my job script , I used
>>>>
>>>>
>>>>
>>>> "time mpirun -np 16 /ptmp/jxding/openmpi123/openmpi-1.2.3/examples/
>>>> hello_c"
>>>>
>>>> Then I added "which mpirun" in my job script, and then submited my
>>>> job to the
>>>> cluster , I got :
>>>> ====================================
>>>>
>>>> /opt/mpich-gm/bin/mpirun
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> Hello, world, I am 0 of 1
>>>> 0.117u 0.165s 0:09.54 2.8% 0+0k 0+0io 0pf+0w
>>>>
>>>> ====================================
>>>>
>>>> So , it means that the application is still using MPICH-GM not Open
>>>> MPI.
>>>>
>>>> Would you please help me with that ?
>>>>
>>>>
>>>> thanks,
>>>>
>>>>
>>>>
>>>> Tony
>>>>
>>>>
>>>>
>>>> June 16 2008
>>>> _________________________________________________________________
>>>> Now you can invite friends from Facebook and other groups to join
>>>> you on Windows Live? Messenger. Add now.
>>>> https://www.invite2messenger.net/im/?source=TXT_EML_WLH_AddNow_Now
>>>> -------------- next part --------------
>>>> HTML attachment scrubbed and removed
>>>>
>>>> ------------------------------
>>>>
>>>> Message: 5
>>>> Date: Mon, 16 Jun 2008 19:05:06 +0200
>>>> From: Andreas Sch?fer <gentryx_at_[hidden]>
>>>> Subject: Re: [OMPI users] help me please, about Open MPI
>>>> To: Open MPI Users <users_at_[hidden]>
>>>> Message-ID: <20080616170506.GB7069_at_[hidden]>
>>>> Content-Type: text/plain; charset="iso-8859-1"
>>>>
>>>> Dear Mister Smith,
>>>>
>>>> Thank you for installing Open MPI.
>>>>
>>>> On 12:51 Mon 16 Jun , Tony Smith wrote:
>>>> > I have changed PATH and LD_LIBRARY_PATH:
>>>>
>>>> Please be aware that you have to make those changes within your job
>>>> script. Otherwise they will only affect your local shell.
>>>>
>>>> > But, how can I make sure that the application is run by Open MPI
>>>> not by mpich-
>>>>
>>>> You could enforce a certain mpirun by using its absolute path, e.g
>>>> "/ptmp/myname/openmpi123/ompi123_install/bin/mpirun foo" instead of
>>>> just "mpirun foo".
>>>>
>>>> > I deleted /opt/mpich-gm/bin from PATH and added
>>>>
>>>> You should not need to delete, just add in front of MPICH.
>>>>
>>>> > Would you please help me with that ?
>>>>
>>>> I utterly hope I just did.
>>>>
>>>> Most sincerely yours ;-)
>>>> -Andreas
>>>>
>>>>
>>>> --
>>>> ============================================
>>>> Andreas Sch?fer
>>>> Cluster and Metacomputing Working Group
>>>> Friedrich-Schiller-Universit?t Jena, Germany
>>>> PGP/GPG key via keyserver
>>>> I'm a bright... http://www.the-brights.net
>>>> ============================================
>>>>
>>>> (\___/)
>>>> (+'.'+)
>>>> (")_(")
>>>> This is Bunny. Copy and paste Bunny into your
>>>> signature to help him gain world domination!
>>>> -------------- next part --------------
>>>> A non-text attachment was scrubbed...
>>>> Name: not available
>>>> Type: application/pgp-signature
>>>> Size: 197 bytes
>>>> Desc: not available
>>>> URL:
>>>> <http://www.open-mpi.org/MailArchives/users/attachments/20080616/ab34ce85/attachment.bin
>>>> >
>>>>
>>>> ------------------------------
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>> End of users Digest, Vol 923, Issue 4
>>>> *************************************
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> V. Gregory Weirs
>>>> Sandia National Laboratories vgweirs_at_[hidden]
>>>> P.O.Box 5800, MS 0378 phone: 505 845 2032
>>>> Albuquerque, NM 87185-0378 fax: 505 284 0154
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>>
>>> --
>>> Jeff Squyres
>>> Cisco Systems
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>>
>>>
>>>
>>> --
>>> V. Gregory Weirs
>>> Sandia National Laboratories vgweirs_at_[hidden]
>>> P.O.Box 5800, MS 0378 phone: 505 845 2032
>>> Albuquerque, NM 87185-0378 fax: 505 284 0154
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>>
>> --
>> Jeff Squyres
>> Cisco Systems
>>
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
>