Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] Mac OS X Static PGI
From: Ralph Castain (rhc_at_[hidden])
Date: 2011-03-11 16:34:56


That's not good enough - you have to use PGI's hacked version of if.h instead.

Hence my comment that we can't fix this for the general case.

On Mar 11, 2011, at 1:43 PM, Jeff Squyres wrote:

> David --
>
> If you can come up with a configure-esque test for detecting that we're on a system that has this bad condition, we can add an #if around the #include.
>
> For example, if you can write a short test that verifies that <net/if.h> is there, but it doesn't work, and further, if we're using the broken version of PGI on Mac OS X, then we can AC_DEFINE something to skip including that file in opal/util/if.h.
>
>
>
> On Mar 3, 2011, at 4:22 PM, Ralph Castain wrote:
>
>> Really appreciate you having looked into this!
>>
>> Unfortunately, I can't see a way to resolve this for the general public. It looks more to me like a PGI bug, frankly - not supporting code in a system-level include makes no sense to me. But I confess this seems to be PGI's mode of operation as I've seen similar issues with their compilers under other OS's as well.
>>
>> We obviously cannot replace Mac's if.h with the PGI-custom version, nor can we distribute the PGI-custom version for use in that situation. So until/unless PGI fixes their problem, I think this has to be a one-off solution.
>>
>> Again, thanks for looking into it. Glad that it works for you!
>> Ralph
>>
>>
>> On Mar 3, 2011, at 1:28 PM, David Robertson wrote:
>>
>>> UPDATE:
>>>
>>> Sorry for the delay but I wanted to make sure PGI was ok with me sharing their workaround.
>>>
>>> Further conversation with PGI tech support has yielded a solution. The opal/util/if.c file has the following around line 63:
>>>
>>> #include <net/if.h>
>>>
>>> Here is the explanation I have from PGI:
>>>
>>> <<<<< Start Quote
>>> For 64-bit only there might be an issue of 'not running/crashing'
>>> when it tries to establish the connection.
>>>
>>> The reason is probably because a source file includes <net/if.h>.
>>> <net/if.h> has some source code that we don't support , namely
>>> #pragma pack(4)
>>> I think currently ignore it.
>>>
>>> The file is: opal/util/if.c that includes <net/if.h>.
>>> You may succeed by including the attached pgi.h instead of <net/if.h>.
>>> End Quote >>>>>
>>>
>>> I followed this advise along with editing the share/openmpi/mpif*-wrapper-data.txt files to have full paths to the static libraries instead of just -lmpi_f90, -lmpi_f77, -lmpi, etc.
>>>
>>> Dave
>>> <pgi.h>_______________________________________________
>>> 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