paralell-netcdf-1.1.1 installation problem
Gerald Creager
gerry.creager at tamu.edu
Wed Feb 3 11:28:01 CST 2010
Looks like he's got g77 and not gfortran. I'd say it's time for a system
update. The other possibility is that mpich2 wasn't compiled properly
with F90 enabled.
gerry
Wei-keng Liao wrote:
> Opps, did not see Rob's post.
> My response was exact what Rob pointed out.
>
> Wei-keng
>
> On Feb 3, 2010, at 11:18 AM, Wei-keng Liao wrote:
>
>> Shawn,
>>
>> From you configure standard out, I can see these lines:
>>> checking mpi Fortran 77 compiler ... configure: WARNING: mpif77
>>> either does not exist or is not executable: falling back to mpif77
>>> using mpif77
>>> checking mpi Fortran 90 compiler ... configure: WARNING: mpif90
>>> either does not exist or is not executable: falling back to mpif77
>>> using mpif77
>>
>> Please check if your mpif77 and mpif90 are working (by compile a small
>> test f77 and f90 programs).
>>
>> From your macros.make, if you check variable F90, it points to mpif77,
>> not mpif90 it should be. Other compiler variables ( CC FC ) also
>> indicate you are not using the mpi compiler under
>> /home/mdl/yuazhang/IOTracing/mpich2-1.0.8
>>
>>
>> Wei-keng
>>
>> On Feb 3, 2010, at 10:40 AM, Shawn Kim wrote:
>>
>>> Hi,
>>>
>>> I did autoreconf before "configure". I attached the output from
>>> configure and macros.make.
>>> Thank you.
>>>
>>> - Shawn
>>>
>>>
>>> $ ./configure
>>> --prefix=/home/mdl/yuazhang/IOTracing/benchmark/parallel-netcdf-1.1.1/install
>>> --with-mpi=/home/mdl/yuazhang/IOTracing/mpich2-1.0.8 --enable-fortran
>>> | & tee c.txt
>>> checking for top-level source-directory...
>>> /home/mdl/yuazhang/IOTracing/benchmark/parallel-netcdf-1.1.1
>>> checking for gcc... mpicc
>>> checking for C compiler default output file name... a.out
>>> checking whether the C compiler works... yes
>>> checking whether we are cross compiling... no
>>> checking for suffix of executables...
>>> checking for suffix of object files... o
>>> checking whether we are using the GNU C compiler... yes
>>> checking whether mpicc accepts -g... yes
>>> checking for mpicc option to accept ISO C89... none needed
>>> checking how to run the C preprocessor... mpicc -E
>>> checking for grep that handles long lines and -e... /bin/grep
>>> checking for egrep... /bin/grep -E
>>> checking for ANSI C header files... yes
>>> checking for a BSD-compatible install... /usr/bin/install -c
>>> checking for bison... bison -y
>>> checking for flex... flex
>>> checking for yywrap in -lfl... yes
>>> checking lex output file root... lex.yy
>>> checking whether yytext is a pointer... yes
>>> configure: checking for m4 preprocessor...
>>> checking for m4... m4
>>> checking m4 flags... -B10000
>>> checking for gcc... (cached) mpicc
>>> checking whether we are using the GNU C compiler... (cached) yes
>>> checking whether mpicc accepts -g... (cached) yes
>>> checking for mpicc option to accept ISO C89... (cached) none needed
>>> checking user-defined Fortran-77 compiler "mpif77"... works
>>> checking for Fortran .F compiler...
>>> checking if Fortran-77 compiler handles *.F files... yes
>>> checking how to make dependencies... false
>>> configure: checking for nm utility...
>>> checking for nm... nm
>>> checking nm flags...
>>> checking for C-equivalent to Fortran routine "SUB"... sub_
>>> configure: checking for math library...
>>> checking for tanh in -lc... no
>>> checking for tanh in -lm... yes
>>> configure: checking for ar utility...
>>> checking for ar... ar
>>> checking ar flags... cru
>>> configure: checking for nm utility...
>>> checking for nm... (cached) nm
>>> checking nm flags...
>>> checking for ranlib... ranlib
>>> checking for C-equivalent to Fortran routine "SUB_A"... sub_a__
>>> checking mpi C compiler ... configure: WARNING: mpicc either does not
>>> exist or is not executable: falling back to mpicc
>>> using mpicc
>>> checking mpi C++ compiler ... using
>>> /home/mdl/yuazhang/IOTracing/mpich2-1.0.8/bin/mpicxx
>>> checking mpi Fortran 77 compiler ... configure: WARNING: mpif77
>>> either does not exist or is not executable: falling back to mpif77
>>> using mpif77
>>> checking mpi Fortran 90 compiler ... configure: WARNING: mpif90
>>> either does not exist or is not executable: falling back to mpif77
>>> using mpif77
>>> checking MPI-IO support in MPI implementation... yes
>>> checking for sys/types.h... yes
>>> checking for sys/stat.h... yes
>>> checking for stdlib.h... yes
>>> checking for string.h... yes
>>> checking for memory.h... yes
>>> checking for strings.h... yes
>>> checking for inttypes.h... yes
>>> checking for stdint.h... yes
>>> checking for unistd.h... yes
>>> checking for stdlib.h... (cached) yes
>>> checking for sys/types.h... (cached) yes
>>> checking for strerror... yes
>>> checking for working alloca.h... yes
>>> checking for alloca... yes
>>> checking for struct stat.st_blksize... yes
>>> checking for IEEE floating point format... yes
>>> checking for size_t... yes
>>> checking if MPI_Offset is size 8... yes
>>> checking for MPI_Request_get_status... yes
>>> checking for MPI_Type_dup... yes
>>> checking for MPI_Info_dup... yes
>>> checking if MPI includes MPI_COMBINER_DUP... yes
>>> checking if MPI includes MPI_COMBINER_HVECTOR_INTEGER... yes
>>> checking if MPI includes MPI_COMBINER_HINDEXED_INTEGER... yes
>>> checking if MPI includes MPI_COMBINER_SUBARRAY... yes
>>> checking if MPI includes MPI_COMBINER_DARRAY... yes
>>> checking if MPI includes MPI_COMBINER_RESIZED... yes
>>> checking if MPI includes MPI_COMBINER_STRUCT_INTEGER... yes
>>> checking if MPI includes MPI_COMBINER_INDEXED_BLOCK... yes
>>> checking if MPI includes MPI_COMBINER_F90_REAL... yes
>>> checking if MPI includes MPI_COMBINER_F90_INTEGER... yes
>>> checking if MPI includes MPI_COMBINER_F90_COMPLEX... yes
>>> checking if MPI includes MPI_CHARACTER... yes
>>> checking if MPI includes MPI_REAL... yes
>>> checking if MPI includes MPI_INTEGER... yes
>>> checking if MPI includes MPI_DOUBLE_PRECISION... yes
>>> checking if MPI includes MPI_INTEGER1... yes
>>> checking if MPI includes MPI_INTEGER2... yes
>>> checking if MPI includes MPI_INTEGER4... yes
>>> checking if MPI includes MPI_INTEGER8... yes
>>> checking if MPI includes MPI_INTEGER16... yes
>>> checking if MPI includes MPI_REAL4... yes
>>> checking if MPI includes MPI_REAL8... yes
>>> checking if MPI includes MPI_REAL16... yes
>>> checking if MPI includes MPI_COMPLEX8... yes
>>> checking if MPI includes MPI_COMPLEX16... yes
>>> checking if MPI includes MPI_COMPLEX32... yes
>>> checking if MPI includes MPI_UB... yes
>>> checking if MPI includes MPI_LB... yes
>>> checking for off_t... yes
>>> checking for ssize_t... yes
>>> checking for ptrdiff_t... yes
>>> checking for uchar... no
>>> checking whether char is unsigned... no
>>> checking whether byte ordering is bigendian... no
>>> checking for short... yes
>>> checking size of short... 2
>>> checking for int... yes
>>> checking size of int... 4
>>> checking for long... yes
>>> checking size of long... 4
>>> checking for float... yes
>>> checking size of float... 4
>>> checking for double... yes
>>> checking size of double... 8
>>> checking for size_t... (cached) yes
>>> checking size of size_t... 4
>>> checking sizeof MPI_Offset... (cached) 8
>>> checking for Fortran "byte"... yes
>>> checking for Fortran "integer*2"... yes
>>> checking if Fortran "byte" is C "signed char"... yes
>>> checking if Fortran "byte" is C "short"... no
>>> checking if Fortran "byte" is C "int"... no
>>> checking if Fortran "byte" is C "long"... no
>>> checking if Fortran "integer*2" is C "short"... yes
>>> checking if Fortran "integer*2" is C "int"... no
>>> checking if Fortran "integer*2" is C "long"... no
>>> checking if Fortran "integer" is C "int"... yes
>>> checking if Fortran "real" is C "float"... yes
>>> checking if Fortran "doubleprecision" is C "double"... yes
>>> checking for Fortran-equivalent to netCDF "byte"... byte
>>> checking for Fortran-equivalent to netCDF "short"... integer*2
>>> checking for Fortran "integer*8"... yes
>>> checking for manual-page index command...
>>> checking for special C compiler options needed for large files... no
>>> checking for _FILE_OFFSET_BITS value needed for large files... 64
>>> checking for _LARGE_FILES value needed for large files... no
>>> checking for library containing MPI_File_sync... none required
>>> checking for off_t... (cached) yes
>>> checking size of off_t... 8
>>> configure: creating ./config.status
>>> config.status: creating macros.make
>>> config.status: creating Makefile
>>> config.status: creating src/Makefile
>>> config.status: creating test/Makefile
>>> config.status: creating src/lib/Makefile
>>> config.status: creating src/lib/pnetcdf.h
>>> config.status: creating src/libf/Makefile
>>> config.status: creating test/common/Makefile
>>> config.status: creating test/test_double/Makefile
>>> config.status: creating test/test_double_int/Makefile
>>> config.status: creating test/test_float/Makefile
>>> config.status: creating test/test_int/Makefile
>>> config.status: creating test/test_dtype/Makefile
>>> config.status: creating test/nc_test/Makefile
>>> config.status: creating test/nf_test/Makefile
>>> config.status: creating test/fandc/Makefile
>>> config.status: creating src/utils/Makefile
>>> config.status: creating src/utils/ncdump/Makefile
>>> config.status: creating src/utils/ncgen/Makefile
>>> config.status: creating test/testcases/Makefile
>>> config.status: creating test/C/Makefile
>>> config.status: creating test/mcoll_perf/Makefile
>>> config.status: creating test/test_check_header/Makefile
>>> config.status: creating test/largefile/Makefile
>>> config.status: creating test/mcoll_fortran/Makefile
>>> config.status: creating src/lib/ncconfig.h
>>> config.status: src/lib/ncconfig.h is unchanged
>>> config.status: creating src/libf/pnetcdf.inc
>>> config.status: creating src/libf/nfconfig.inc
>>>
>>> parallel-netCDF version 1.1.1pre1 features:
>>> . parallel-netcdf configured WITH support for large files
>>> . parallel-netcdf configured WITH fortran bindings
>>> . parallel-netcdf configured WITH nonblocking routines
>>> . parallel-netcdf configured WITH giant variable support
>>>
>>>
>>>
>>> macros.make
>>>
>>> # $Id: macros.make.in 771 2010-01-22 21:00:23Z robl $
>>>
>>> # The purpose of this file is to contain common make(1) macros.
>>> # It should be processed by every execution of that utility.
>>>
>>>
>>> # POSIX shell. Shouldn't be necessary -- but is under IRIX 5.3.
>>> SHELL = /bin/sh
>>>
>>>
>>> # Installation Directories:
>>> SRCDIR =
>>> /home/mdl/yuazhang/IOTracing/benchmark/parallel-netcdf-1.1.1
>>> prefix =
>>> /home/mdl/yuazhang/IOTracing/benchmark/parallel-netcdf-1.1.1/install
>>> exec_prefix = $(prefix)
>>> INCDIR = $(exec_prefix)/include
>>> LIBDIR = $(exec_prefix)/lib
>>> BINDIR = $(exec_prefix)/bin
>>> MANDIR = $(prefix)/man
>>>
>>>
>>> # Preprocessing:
>>> M4 = m4
>>> M4FLAGS = -B10000
>>> CPP = mpicc -E
>>> CPPFLAGS = $(INCLUDES) $(DEFINES)
>>> FPP =
>>> FPPFLAGS = $(CPPFLAGS)
>>> CXXCPPFLAGS = $(CPPFLAGS)
>>>
>>>
>>> # Compilation:
>>> CC = mpicc
>>> CXX = /home/mdl/yuazhang/IOTracing/mpich2-1.0.8/bin/mpicxx
>>> FC = mpif77
>>> F90 = mpif77
>>> CFLAGS = -g -O2
>>> CXXFLAGS = -g -O2
>>> FFLAGS =
>>> F90FLAGS =
>>> NETCDF.MOD = @NETCDF_MOD@
>>> CC_MAKEDEPEND = false
>>> COMPILE.c = $(CC) -c $(CFLAGS) $(CPPFLAGS)
>>> COMPILE.cxx = $(CXX) -c $(CXXFLAGS) $(CXXCPPFLAGS)
>>> COMPILE.f = $(FC) -c $(FFLAGS)
>>> COMPILE.F90 = $(F90) -c $(F90FLAGS)
>>> # The following command isn't available on some systems; therefore, the
>>> # `.F.o' rule is relatively complicated.
>>> COMPILE.F = $(COMPILE.f) $(FPPFLAGS)
>>>
>>>
>>> # Linking:
>>> MATHLIB = -lm
>>> FLIBS =
>>> F90LIBS = @F90LIBS@
>>> LIBS =
>>> F90LDFLAGS = $(LDFLAGS)
>>> LINK.c = $(CC) -o $@ $(CFLAGS) $(LDFLAGS)
>>> LINK.cxx = $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS)
>>> LINK.F = $(FC) -o $@ $(FFLAGS) $(FLDFLAGS)
>>> LINK.f = $(FC) -o $@ $(FFLAGS) $(FLDFLAGS)
>>> LINK.F90 = $(F90) -o $@ $(F90FLAGS) $(F90LDFLAGS)
>>>
>>>
>>> # Manual pages:
>>> WHATIS = whatis
>>> # The following macro should be empty on systems that don't
>>> # allow users to create their own manual-page indexes.
>>> MAKEWHATIS_CMD =
>>>
>>>
>>> # Misc. Utilities:
>>> AR = ar
>>> ARFLAGS = cru
>>> RANLIB = ranlib
>>> TARFLAGS = -chf
>>>
>>>
>>> # Dummy macros: used only as placeholders to silence GNU make. They are
>>> # redefined, as necessary, in subdirectory makefiles.
>>> HEADER = dummy_header
>>> HEADER1 = dummy_header1
>>> HEADER2 = dummy_header2
>>> HEADER3 = dummy_header3
>>> LIBRARY = dummy_library.a
>>> MANUAL = dummy_manual
>>> PROGRAM = dummy_program
>>>
>>>
>>> # Distribution macros:
>>> FTPDIR = /home/ftp/pub/$(PACKAGE)
>>> FTPBINDIR = @FTPBINDIR@
>>> VERSION = dummy_version
>>>
>>>
>>>
>>>
>>> On Wed, Feb 3, 2010 at 2:09 AM, Wei-keng Liao
>>> <wkliao at ece.northwestern.edu> wrote:
>>> Hi, Shawn
>>>
>>> Did you run "autoreconf" before "configure"?
>>>
>>> Can you send us the standard output from you configure run
>>> and the file macros.make?
>>>
>>> Wei-keng
>>>
>>>
>>>
>>> On Feb 2, 2010, at 11:30 PM, Shawn Kim wrote:
>>>
>>> Hi, all
>>>
>>> I recently installed the newest parallel-netcdf-1.1.1 on two
>>> different machines with different (MPICH2 + PVFS2)'s.
>>> I succeeded it on one machine but I failed it on the other machine.
>>> (I slighly modified MPI_IO function calls but I believed it didn't
>>> affect the compilation.)
>>> Both are in the same clusters. Error occurred while compiling libf.
>>>
>>> /bin/rm -f pnetcdf.F90
>>> echo "module pnetcdf" > pnetcdf.F90
>>> /bin/cat pnetcdf.inc >> pnetcdf.F90
>>> echo "end module pnetcdf" >> pnetcdf.F90
>>> mpif77 -c -c pnetcdf.F90
>>> g77: pnetcdf.F90: linker input file unused because linking not done
>>> /usr/bin/install -c -d -m 755
>>> /home/mdl/yuazhang/IOTracing/benchmark/parallel-netcdf-1.1.1/install/include
>>>
>>> /usr/bin/install -c -m 644 pnetcdf.inc pnetcdf.mod
>>> /home/mdl/yuazhang/IOTracing/benchmark/parallel-netcdf-1.1.1/install/include
>>>
>>> /usr/bin/install: cannot stat `pnetcdf.mod': No such file or directory
>>> make: ***
>>> [/home/mdl/yuazhang/IOTracing/benchmark/parallel-netcdf-1.1.1/install/include/pnetcdf.inc]
>>> Error 1
>>>
>>> The error part is:
>>> mpif77 -c -c pnetcdf.F90
>>> g77: pnetcdf.F90: linker input file unused because linking not done
>>>
>>> It seems to me like fortran compiler mismatch, but in the other
>>> machine it works without any error or warning. I did set environment
>>> variable correctly like:
>>>
>>> CC=mpicc
>>> FC=mpif77
>>> F90=mpif90
>>> MPICC=mpicc
>>> MPIF77=mpif77
>>> MPIF90=mpif90
>>>
>>> What else can I do?
>>>
>>> Thank you in advance.
>>>
>>> - Shawn
>>>
>>>
>>
>
--
Gerry Creager -- gerry.creager at tamu.edu
Texas Mesonet -- AATLT, Texas A&M University
Cell: 979.229.5301 Office: 979.458.4020 FAX: 979.862.3983
Office: 1700 Research Parkway Ste 160, TAMU, College Station, TX 77843
More information about the parallel-netcdf
mailing list