paralell-netcdf-1.1.1 installation problem

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


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



More information about the parallel-netcdf mailing list