Kyle Wheeler wrote:
> Hello,
>
> I'm trying to get LAM to compile with the PGI suite of compilers (also
> known as the PGROUP compilers), version 6.1. I told LAM to use them like
> so:
>
> ./configure prefix=$HOME CC=/usr/pgi/linux86/6.1/bin/pgcc
> CXX=/usr/pgi/linux86/6.1/bin/pgCC F77=/usr/pgi/linux86/6.1/bin/pgf77
>
> ...which seemed to work just fine. When I ran make, it died with this
> error:
>
> make[3]: Entering directory `/home/kbwheel/lam-7.1.2/otb/sys/dli_inet'
> source='di_bootagent.c' object='di_bootagent.o' libtool=no \
> DEPDIR=.deps depmode=none /bin/sh ../../.././config/depcomp \
> /usr/pgi/linux86/6.1/bin/pgcc -DHAVE_CONFIG_H -I. -I.
> -I../../../share/include -I../../../share/include -DLAM_BUILDING=1
> -D_REENTRANT -O -c di_bootagent.c
> PGC-W-0114-More than one type specified (/usr/include/unistd.h: 189)
> PGC-W-0143-Useless typedef declaration (no declarators present)
> (/usr/include/unistd.h: 189)
> pgcc-Fatal-/usr/pgi/linux86/6.1/bin/newcg/pgc TERMINATED by signal 11
> Arguments to /usr/pgi/linux86/6.1/bin/newcg/pgc
> /usr/pgi/linux86/6.1/bin/newcg/pgc di_bootagent.c -opt 2 -terse 1
> -inform warn -x 119 0xa10000 -x 119 0x100000 -x 122 0x40 -x 123 0x1000
> -x 127 4 -x 127 16 -x 119 0x40000000 -x 19 0x400000 -x 28 0x40000 -x 59
> 4 -x 80 0x300 -y 80 0x1000 -x 80 0x40000000 -x 119 0x8000000 -astype 0
> -stdinc
> /usr/pgi/linux86/6.1/include:/usr/local/include:/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include:/usr/lib/gcc-lib/i386-redhat-linux/3.2.3//include:/usr/include
> -def unix -def __unix -def __unix__ -def linux -def __linux -def
> __linux__ -def __inline__= -def i386 -def __i386 -def __i386__ -def
> __NO_MATH_INLINES -def linux86 -def __THROW= -predicate '#machine(i386)
> #lint(off) #system(unix) #system(posix) #cpu(i386)' -idir . -idir .
> -idir ../../../share/include -idir ../../../share/include -def
> HAVE_CONFIG_H -def LAM_BUILDING=1 -def _REENTRANT -cmdline '+pgcc
> di_bootagent.c -DHAVE_CONFIG_H -I. -I. -I../../../share/include
> -I../../../share/include -DLAM_BUILDING=1 -D_REENTRANT -O -c' -asm
> /tmp/pgccaaaaakdzap.s
> make[3]: *** [di_bootagent.o] Error 127
> make[3]: Leaving directory `/home/kbwheel/lam-7.1.2/otb/sys/dli_inet'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/home/kbwheel/lam-7.1.2/otb/sys'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/kbwheel/lam-7.1.2/otb'
> make: *** [all-recursive] Error 1
>
> Does anyone have any idea what might be going wrong? I looked through
> di_bootagent.c and didn't see anything that looked particularly
> complicated, so I have no idea why the compiler would *segfault*. And
> yet... I know LAM supports these compilers, so I thought I'd ask if this
> is something others have come across before.
Did you examine the contents of your unistd.h, after pre-processing, at
the point indicated? Does this step work for you with gcc, and does it
use the same pre-processed source?
If you are paying for PGI support, and the compiler segfaults without a
good diagnostic, you should submit pre-processed source for the case
which fails as a problem report to them. My colleagues generally build
lam with a combination of gcc and pgf90 (or some other Fortran) so we
don't generally exercise pgcc to this extent.
You haven't given a clue on the identity of your linux distro, so it is
double important to show what actually is in the source code at the
failure point.
|