Open MPI logo

Hardware Locality Users' Mailing List Archives

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

Subject: Re: [hwloc-users] Getting the cache hierarchy
From: Samuel Thibault (samuel.thibault_at_[hidden])
Date: 2010-06-06 14:13:40


Olivier Cessenat, le Sun 06 Jun 2010 19:02:21 +0200, a écrit :
> Le dimanche 06 juin 2010 à 18:39 +0200, Samuel Thibault a écrit :
> > Olivier Cessenat, le Sun 06 Jun 2010 18:14:35 +0200, a écrit :
> > > In file included from topology.c:17:
> > > /opt/gfortran/irun/bin/../lib/gcc/i386-pc-linux-gnu/4.3.0/include-fixed/sys/stat.h:345: error: expected ',' or ';' before '__wur'
> >
> > Wow, how odd. Could you send us the file? I really wonder what they
> > put there that errors out like this.
> ==>
> Yes, joined. I do not know why this header is used instead of the
> standard one... I do not see the connection with gfortran !

I don't see it either, and I don't see how hwloc could make that line
fail. It properly includes <sys/types.h> before including <sys/stat.h>,
so at least it respects the standard rules. Your stat.h comes from /opt,
maybe you should post the complete output of ./configure to check which
mixture of compilers you are using, and maybe try to get odd compilers
out from PATH.

> > > In file included from /tmp/hwloc-1.0.1/include/hwloc.h:17,
> > > from topology.c:21:
> > > /tmp/hwloc-1.0.1/include/hwloc/config.h:115:2: error: #error "unknown
> > > size for unsigned long."
> > > /tmp/hwloc-1.0.1/include/hwloc/config.h:119:2: error: #error "unknown
> > > size for unsigned int."
> >
> > Could you tell us how much HWLOC_SIZEOF_UNSIGNED_LONG is defined to?
> > This looks like autoconf wasn't able to properly determine it actually.
> ==>
> What should I do exactly ? I do not see HWLOC_SIZEOF_UNSIGNED_LONG from
> configure ouput.
> Here is what find gives:
> $ find . -name \*.h -exec grep HWLOC_SIZEOF_UNSIGNED_LONG {} /dev/null
> \;
> ./include/hwloc/config.h:#define HWLOC_SIZEOF_UNSIGNED_LONG 4
> ./include/hwloc/config.h:#define HWLOC_BITS_PER_LONG
> (HWLOC_SIZEOF_UNSIGNED_LONG * 8)
> ./include/private/config.h:#define HWLOC_SIZEOF_UNSIGNED_LONG 4

So it's 4. I fail to see how your compiler could not see that 4*8 is
equal to 32..

> Oh, by the way, there are some messages provided by configure:
> <<
> checking locale.h presence... yes
> configure: WARNING: locale.h: present but cannot be compiled
> configure: WARNING: locale.h: check for missing prerequisite
> headers?

This looks like your compiler is a cross-compiler or some odd thing like
that which autoconf doesn't always correctly handle concerning headers.

Samuel