Open MPI logo

Hardware Locality Users' Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Users mailing list

Subject: Re: [hwloc-users] hwloc-1.6.1rc2 Build failure with Cray compiler
From: Erik Schnetter (schnetter_at_[hidden])
Date: 2013-01-17 14:27:05


I realise I did not mention the flags I used when configuring hwloc. I am
using

-g -h gnu -O3

which explicitly asks to recognise GNU extensions. (I need to use -h gnu to
compile certain other code.) This would explain why __GNUC__ is defined...
Apologies for omitting this earlier.

-erik

On Thu, Jan 17, 2013 at 2:21 PM, Jeff Hammond <jhammond_at_[hidden]> wrote:

> I was not able to reproduce the behavior described by Erik on the
> NERSC Cray XE6, which is to say, Cray C does not claim to be GCC
> there. As I can't verify the problem, I can't report it.
>
> I have no experience with Cray bug fix latency but I suspect this
> needs to be worked-around (I refuse to call it a fix since there is no
> problem in hwloc) because Cray won't backport whatever fix they
> implement to all their compilers that users might come across.
>
> Jeff
>
> On Thu, Jan 17, 2013 at 1:15 PM, Erik Schnetter <schnetter_at_[hidden]>
> wrote:
> > 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.goglin_at_[hidden]>
> 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 <jhammond_at_[hidden]> 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 <schnetter_at_[hidden]>
> >>> 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 <schnetter_at_[hidden]>
> >>>> http://www.perimeterinstitute.ca/personal/eschnetter/
> >>>>
> >>>>
> >>>> ________________________________
> >>>>
> >>>> hwloc-users mailing list
> >>>> hwloc-users_at_[hidden]
> >>>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
> >>>
> >>>
> >>>
> >>
> >> _______________________________________________
> >>
> >> hwloc-users mailing list
> >> hwloc-users_at_[hidden]
> >> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
> >
> >
> >
> >
> > --
> > Erik Schnetter <schnetter_at_[hidden]>
> > http://www.perimeterinstitute.ca/personal/eschnetter/
>
>
>
> --
> Jeff Hammond
> Argonne Leadership Computing Facility
> University of Chicago Computation Institute
> jhammond_at_[hidden] / (630) 252-5381
> http://www.linkedin.com/in/jeffhammond
> https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
>

-- 
Erik Schnetter <schnetter_at_[hidden]>
http://www.perimeterinstitute.ca/personal/eschnetter/