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