I have no idea how fast Cray acts in such a case.

-erik


On Thu, Jan 17, 2013 at 2:05 PM, Brice Goglin <brice.gog...@inria.fr> wrote:

> Does Cray fix such bugs quickly usually? If so, no need to change hwloc.
> If not, I'll need somebody to test the change on other cray platforms and
> compiler versions.
> Brice
>
>
>
> Jeff Hammond <jhamm...@alcf.anl.gov> a écrit :
>>
>> This is a bug in the Cray compiler.  They cannot and should not set
>> the __GNUC__ flag unless they are fully compatible with GCC.  There
>> are many ways to define "fully compatible" but at a minimum, code that
>> compiles with GCC needs to compile with any compiler that elects to
>> define __GNUC__.  It is prudent to impose a higher standard in some
>> cases but that's not pertinent to this discussion.
>>
>> Lots of vendor compilers pretend to be __GNUC__ for any number of
>> reasons.  I believe that they are all wrong for doing it.
>>
>> Regarding this specific issue, there is nothing wrong with hwloc and I
>> don't know why anyone should bother trying to fix Cray's problem, but
>> I suspect that pragmatism will prevail, as it appears to have in the
>> case of Boost 
>> (http://www.boost.org/doc/libs/1_52_0/boost/config/select_platform_config.hpp).
>>
>> I'll reproduce this locally and contact Cray directly about fixing
>> this on their end.
>>
>> Best,
>>
>> Jeff
>>
>> On Thu, Jan 17, 2013 at 12:19 PM, Erik Schnetter <schnet...@gmail.com> wrote:
>>
>>> hwloc-1.6.1rc2 fails to build with the Cray compiler
>>>
>>> Cray C : Version 8.1.2  Thu Jan 17, 2013  12:18:54
>>>
>>> The error message is
>>>
>>> CC       bitmap.lo
>>> CC-147 craycc: ERROR
>>> Declaration is incompatible with "int ffsl(long)" (declared at line 526 of
>>> "/opt/cray/xe-sysroot/4.1.20/usr/include/string.h").
>>>
>>> (Yes, there is no line number with the error message.)
>>>
>>> This seems to be caused by the fact that the Cray c!
>>>  ompiler
>>> sets __GNUC__,
>>>
>>> but is not quite compatible. A work-around is to change line 56 of
>>> include/private/misc.h from
>>>
>>> #elif defined(__GNUC__)
>>>
>>> to
>>>
>>> #elif defined(__GNUC__) && !defined(_CRAYC)
>>>
>>> -erik
>>>
>>> --
>>> Erik Schnetter <schnet...@gmail.com>
>>> http://www.perimeterinstitute.ca/personal/eschnetter/
>>>
>>> ------------------------------
>>>
>>> hwloc-users mailing list
>>> hwloc-us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
>>>
>>
>>
>>
> _______________________________________________
> hwloc-users mailing list
> hwloc-us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
>



-- 
Erik Schnetter <schnet...@cct.lsu.edu>
http://www.perimeterinstitute.ca/personal/eschnetter/

Reply via email to