Pointer, heads-up on Cray X[T,E] cray compiler builds ...

Wei-keng Liao wkliao at ece.northwestern.edu
Sun Mar 13 17:41:52 CDT 2011


Hi, Richard,

Thanks for informing us this problem.

Can you run command "ftn -V" to show the true compiler used underneath?

I tested that make file on franklin at NERSC, a Cray XT4, and "ftn -V"
shows the followings.
  /opt/cray/xt-asyncpe/4.6/bin/ftn: INFO: Compiling with XTPE_COMPILE_TARGET=native.
  pgf90 10.9-0 64-bit target on x86-64 Linux -tp k8-64e 
  Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
  Copyright 2000-2010, STMicroelectronics, Inc.  All Rights Reserved.

However, when I tried add "-em", the compiler complains this switch.
  % ftn -c -em pnetcdf.F90
  pgf90-Error-Unknown switch: -em

Also, on the same machine, gfortran can create the module file correctly
with only -c switch, i.e. command "gfortran -c pnetcdf.F90".

I wonder maybe your ftn is not using pgf90 or gfortran.

Wei-keng

On Mar 9, 2011, at 12:51 PM, Richard Walsh wrote:

> 
> All,
> 
> I think that there is a bug in your Makefile in the ./src/libf/
> directory that manifests itself on the Cray X[T/E] series of 
> systems when you compile 'pnetcdf' with Cray compilers. I
> see that this has come up several times, but is not fixed.
> 
> I proceeded through the configure and make stages of
> the process on our Cray XE6 as follows with issue:
> 
> module load PrgEnv-cray
> 
> autoreconf
> 
> export CC=cc
> export CXX=CC
> export FC=ftn
> export F90=ftn
> export MPICC=cc
> export MPICXX=CC
> export MPIF77=ftn
> export MPIF90=ftn
> 
> (remember on the Cray all compiler flavors (cray, pgi, pathscale, gnu)
>  use the above wrappers, for the cray compiler these automagically
>  load the MPI libraries)
> 
> nohup ./configure --prefix=/share/apps/pnetcdf/1.2.0 --enable-fortran CC=cc CXX=CC F77=ftn F90=ftn FC=ftn > CONFIG.out 2>&1 &
> 
> (this works fine)
> 
> nohup make > MAKE.out 2>&1 &
> 
> (as does this)
> 
> make install > INSTALL.out 2>&1 &
> 
> (this fails with ...)
> 
> /bin/rm -f pnetcdf.F90
> echo "! This file is automatically generated at configure time. Do not edit." > pnetcdf.F90
> echo "" >> pnetcdf.F90
> echo "module pnetcdf" >> pnetcdf.F90
> /bin/cat pnetcdf_inc ./pnetcdf_api.interface >> pnetcdf.F90
> echo "end module pnetcdf" >> pnetcdf.F90
> ftn -c  pnetcdf.F90
> /usr/bin/install -c -d -m 755 /share/apps/pnetcdf/1.2.0/include
> /usr/bin/install -c -m 644 pnetcdf.inc pnetcdf.mod /share/apps/pnetcdf/1.2.0/include
> /usr/bin/install: cannot stat `pnetcdf.mod': No such file or directory
> make: *** [/share/apps/pnetcdf/1.2.0/include/pnetcdf.inc] Error 1
> 
> Nothing I see in archives really addresses this problem.  The trouble 
> here is that the Cray compiler does not generate a 'pnetcdf.mod' file
> by default if only the  '-c' option is used.  To get a '.mod' file you must
> use 'ftn -c -em pnetcdf.F90'.
> 
> I got around this problem my completing the compile manually and
> correctly with the ./src/libf/ directory and then rerunning the install
> which then finds the now generated 'pnetcdf.mod' file. 
> 
> If there is something that you can do to fix this in the download
> that would be nice.  
> 
> Excepting this minor glitch, the procedure above should work
> on the Cray X[T,E] systems for building PNETCDF using Cray's
> native compiler environment.
> 
> Regards,
> 
> rbw
> 
> Richard Walsh
> Parallel Applications and Systems Manager
> CUNY HPC Center, Staten Island, NY
> 718-982-3319
> 612-382-4620
> 
> The dying soldiers mingled there;
> Fame or country least their care.
> 
> Foemen at mourn, but friends at eve;
> What like a bullet can undeceive?
> 
> 
> Think green before you print this email.



More information about the parallel-netcdf mailing list