Oh, I missed that.

Then, yes, I agree.  We can't support that.

That sounds like a bug PGI will need to fix, in general.


On Mar 11, 2011, at 4:34 PM, Ralph Castain wrote:

> 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
>>>> us...@open-mpi.org
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> 
>>> 
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> 
>> -- 
>> Jeff Squyres
>> jsquy...@cisco.com
>> For corporate legal information go to:
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>> 
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to