paralell-netcdf-1.1.1 installation problem

Wei-keng Liao wkliao at ece.northwestern.edu
Wed Feb 3 11:18:20 CST 2010


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
>
>



More information about the parallel-netcdf mailing list