Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Building 1.6.3 on OS X 10.8
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-02-12 11:29:53


The MPICH folks, who lurk on this list (gasp!), actually replied to me offlist and pointed out that they had pretty much the same problem, and pointed out a clever solution. Thanks, MPICH guys!

I committed a fix to the trunk and to v1.6 (and will CMR it to v1.7, too).

This is, admittedly a fairly obscure error case (i.e., we've not run into it before). But the fix was easy and we might as well protect against it.

On Feb 12, 2013, at 9:40 AM, Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:

> You should definitely be able to disable fortran on the trunk. The option changed name, though -- disable-mpi-fortran (vs. --disable-mpi-f77), because we unified f77 and f90 support (e.g., mpifort, not mpif77 or mpif90). See this blog entry (which was written a while ago; it's now all on the trunk and in v1.7):
>
> http://blogs.cisco.com/performance/a-bucket-full-of-new-mpi-fortran-features/
>
> Let me know if you're having a problem disabling fortran on the trunk.
>
> That being said, we use a different version of libtool on trunk/v1.7 tarballs which should obviate this issue (because I think it now correctly disables the fortran libtool tag in configure).
>
>
> On Feb 12, 2013, at 8:40 AM, Mark Bolstad <the.render.dude_at_[hidden]>
> wrote:
>
>> Yup, gfortran was the problem. It works now.
>>
>> It also explains why the trunk version worked. In the trunk you can't disable fortran at all, so I had to uninstall gfortran.
>>
>> Thanks for all the help.
>>
>> Mark
>>
>> On Tue, Feb 12, 2013 at 8:21 AM, Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
>> I looked closer at your configure output this morning, and I think I see the issue: I think your gfortran may be borked -- here's some output in config.log:
>>
>> -----
>> configure:163678: checking if gfortran supports -c -o file.o
>> configure:163699: gfortran -c -o out/conftest2.o conftest.f >&5
>> i686-apple-darwin10-gfortran-4.2.1: error trying to exec 'f951': execvp: No such file or directory
>> configure:163703: $? = 1
>> configure:163725: result: no
>> -----
>>
>> Note the "f951" execvp error -- that looks to me like gfortran is trying to exec a sub-executable named f951 and failing. I see other errors above this, too:
>>
>> -----
>> configure:28218: gfortran -c conftest.F >&5
>> i686-apple-darwin10-gfortran-4.2.1: error trying to exec 'cc1': execvp: No such file or directory
>> configure:28218: $? = 1
>> -----
>>
>> So I think your gfortran is borked in some cases, and it's causing configure to get confused and choose to make static libraries.
>>
>> I know you supplied --disable-mpi-f77, and that turns off all of OMPI's fortran bindings. But the version of libtool that we're using in the OMPI 1.6 series still checks for C, C++, and Fortran, even if the project doesn't use C++ or Fortran (this has been fixed in later versions of libtool).
>>
>> Can you either uninstall your borked gfortran, install a proper/working gfortran, and/or adjust your path to not find the borked gfortran?
>>
>> Wow -- that's a fun failure case. :-)
>>
>>
>>
>> On Feb 12, 2013, at 8:00 AM, Mark Bolstad <the.render.dude_at_[hidden]> wrote:
>>
>>>
>>>
>>> On Mon, Feb 11, 2013 at 10:44 PM, Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
>>> I got your tarball (no need to re-send it).
>>>
>>> I'm a little confused by your output from make, though.
>>>
>>> Did you run autogen? If so, there's no need to do that -- try expanding a fresh tarball and just running ./configure and make.
>>>
>>> Nope, just a straight configure from a clean tarball.
>>>
>>> I did some more testing:
>>>
>>> 1.6.3 tarball (new) - No .so's
>>> 1.6.4rc3 tarball - No .so's
>>> svn trunk (rev 28043) - Yes, works and create .so's
>>>
>>> So, I'm baffled. Do you want me to pull a 1.6.3 out of subversion and try it?
>>>
>>> Mark
>>>
>>>
>>> On Feb 11, 2013, at 10:03 PM, Mark Bolstad <the.render.dude_at_[hidden]> wrote:
>>>
>>>> I packed the compile info as requested but the message is to big. Changing the compression didn't help. I can split it, or do you just want to approve it out of the hold queue?
>>>>
>>>> Mark
>>>>
>>>> On Mon, Feb 11, 2013 at 3:03 PM, Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
>>>> On Feb 11, 2013, at 2:46 PM, Mark Bolstad <the.render.dude_at_[hidden]> wrote:
>>>>
>>>>> That's what I noticed, no .so's (actually, I noticed that the dlname in the .la file is empty. thank you, dtruss)
>>>>
>>>> Please send all the information listed here:
>>>>
>>>> http://www.open-mpi.org/community/help/
>>>>
>>>>> I've built it two different ways:
>>>>> --disable-mpi-f77
>>>>>
>>>>> and
>>>>> --prefix=/Users/bolstadm/papillon/build/macosx-x86_64/Release/openmpi-1.6.3 --disable-mpi-f77 --with-openib=no --enable-shared --disable-static
>>>>>
>>>>> Both give me the same errors and no .so's.
>>>>
>>>> That's weird -- it should make .so's in both cases.
>>>>
>>>>> I noticed that I point to the maports libtool (/opt/local/bin/libtool) so I changed the path to find /usr/bin first to no avail. I changed the compiler from gcc to clang and that didn't work either.
>>>>
>>>> configure/make should be using the "libtool" that is internal to the expanded tarball tree, so whichever libtool your PATH points to shouldn't matter.
>>>>
>>>>> Where do the shared objects get created in the build cycle?
>>>>
>>>> All throughout the build, actually. Generally, they're created in the */mca/*/* directories in the source tree.
>>>>
>>>> --
>>>> Jeff Squyres
>>>> jsquyres_at_[hidden]
>>>> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>>
>>> --
>>> Jeff Squyres
>>> jsquyres_at_[hidden]
>>> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>> --
>> Jeff Squyres
>> jsquyres_at_[hidden]
>> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>>
>>
>> _______________________________________________
>> 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
>
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/