[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20030725: netCDF 3.5.1-beta10 "make test" failure: Linux & pgcc



Jinyou,

[I've included relevant parts of your original email so that it can be
found in our user-support email archive.  Go to the bottom of this email
to see my response.]

> To: address@hidden
> cc: address@hidden
> From: Jinyou Liang <address@hidden>
> Subject: Fail in make test of netCDF 3.5.1-beta10
> Organization: ?
> Keywords: netCDF PG compilers

The above message contained the following:

> Linux ygg.arb.ca.gov 2.4.9-34smp #1 SMP Sat Jun 1 06:15:25 EDT 2002 i686 
> unknown
> 3.5.1-beta10
...

> M4FLAGS               = -B10000
> CPP           = pgCC -E
> CPPFLAGS      = $(INCLUDES) $(DEFINES) -Mlfs -DNDEBUG -DpgiFortran 
> FPP           = 
> FPPFLAGS      = -DNDEBUG
> CXXCPPFLAGS   = $(CPPFLAGS)
> 
> 
> # Compilation:
> CC            = pgcc
> CXX           = pgCC
> FC            = pgf90
> F90           = pgf90
> CFLAGS                = -Mlfs -O -DpgiFortran
> CXXFLAGS      = -Mlfs -O -DpgiFortran
> FFLAGS                = -Mlfs -O
> F90FLAGS      = -Mlfs -O
...

> /usr/pgi/linux86/bin/pgcc
> /usr/pgi/linux86/bin/pgCC
> /usr/pgi/linux86/bin/pgf90
> creating cache ./config.cache
> checking for top-level source-directory
> /home/jliang/netcdf/netcdf-3.5.1-beta10/src
> checking for m4 preprocessor
> checking for m4... m4
> checking m4 flags... -B10000
> checking C compiler "pgcc"... works
> checking how to make dependencies... false
> checking for pgCC... pgCC
> checking C++ compiler "pgCC"... works
> checking how to run the C preprocessor... pgCC -E
> checking user-defined Fortran-77 compiler "pgf90"... works
> checking for Fortran .F compiler... 
> checking if Fortran-77 compiler handles *.F files... yes
> checking user-defined Fortran-90 compiler "pgf90"... works
> checking for nm utility
> checking for nm... nm
> checking nm flags... 
> checking for C-equivalent to Fortran routine "SUB"... sub_
> 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 math library
> checking for tanh in -lc... yes
> checking for ar utility
> checking for ar... ar
> checking ar flags... cru
> checking for nm utility
> checking for nm... (cached) nm
> checking nm flags... 
> checking for ranlib... ranlib
> checking for stdlib.h... yes
> checking for sys/types.h... yes
> checking for strerror... yes
> checking for working ftruncate()... yes
> checking for working alloca.h... yes
> checking for alloca... yes
> checking for st_blksize in struct stat... yes
> checking for IEEE floating point format... yes
> checking for ANSI C header files... yes
> checking for size_t... 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 size of short... 2
> checking size of int... 4
> checking size of long... 4
> checking size of float... 4
> checking size of double... 8
> checking size of off_t... 4
> checking size of size_t... 4
> checking for manual-page index command... 
> checking binary distribution directory... /home/ftp/pub/binary/dummy_system
> updating cache ./config.cache
> creating ./config.status
> creating macros.make
> udcreating fortran/nfconfig.inc
> creating libsrc/ncconfig.h
...

> Making `all' in directory /home/jliang/netcdf/netcdf-3.5.1-beta10/src/libsrc
> 
> make[2]: Entering directory 
> `/home/jliang/netcdf/netcdf-3.5.1-beta10/src/libsrc'
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  attr.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  dim.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  error.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  
> -DVERSION=`cat ../VERSION` libvers.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  nc.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  ncio.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  ncx.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  putget.c
> PGC-W-0142-Assignment to const object not allowed (putget.c: 373)
> PGC-W-0142-Assignment to const object not allowed (putget.c: 11527)
> PGC-W-0142-Assignment to const object not allowed (putget.c: 11532)
> PGC/x86 Linux/x86 4.1-2: compilation completed with warnings
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  string.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  v1hpg.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  v2i.c
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  var.c
> ar cru libnetcdf.a attr.o dim.o error.o libvers.o nc.o ncio.o ncx.o putget.o 
> string.o v1hpg.o v2i.o var.o
> ranlib libnetcdf.a
> make[2]: Leaving directory 
> `/home/jliang/netcdf/netcdf-3.5.1-beta10/src/libsrc'
...

> Making `test' in directory /home/jliang/netcdf/netcdf-3.5.1-beta10/src/libsrc
> 
> make[2]: Entering directory 
> `/home/jliang/netcdf/netcdf-3.5.1-beta10/src/libsrc'
> pgcc -c -Mlfs -O -DpgiFortran -I.  -Mlfs -DNDEBUG -DpgiFortran  t_nc.c
> ar cru libnetcdf.a attr.o dim.o error.o libvers.o nc.o ncio.o ncx.o putget.o 
> string.o v1hpg.o v2i.o var.o
> ranlib libnetcdf.a
> pgcc -o t_nc -Mlfs -O -DpgiFortran  t_nc.o -L. -lnetcdf 
> ./t_nc
> dimrename: IXX
> nc_close ret = 0
> 
> reopen id = 3 for filename test.nc
> NC done
> GATTR VAR VATTR
> VATTR
> VATTR
> VATTR
> VATTR
> VATTR
> fill_seq indices       1 2 3  75.000000 != 2.718282
> Done
> got val = 3.250000
> got val = 0.000000
> got val = 2.718282
> got val = 82555
> got val = 97
> got NC_CHAR val = A (0x41) 
> got NC_CHAR val = B (0x42) 
> got NC_CHAR val = "The red death had long devastated the country."
> got val = A (0x41) 
> got val = B (0x42) 
> got val = "The red death had long devastated the country."
> got vals = 0.000000 ... 447.000000
> re nc_close ret = 0
> cmp test.nc test_nc.sav
> *** Success ***
> make[2]: Leaving directory 
> `/home/jliang/netcdf/netcdf-3.5.1-beta10/src/libsrc'
> 
> Returning to directory /home/jliang/netcdf/netcdf-3.5.1-beta10/src
> 
> make[1]: Leaving directory `/home/jliang/netcdf/netcdf-3.5.1-beta10/src'
> make[1]: Entering directory `/home/jliang/netcdf/netcdf-3.5.1-beta10/src'
> 
> Making `test' in directory /home/jliang/netcdf/netcdf-3.5.1-beta10/src/nc_test
> 
> make[2]: Entering directory 
> `/home/jliang/netcdf/netcdf-3.5.1-beta10/src/nc_test'
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> nc_test.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> error.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> test_get.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> test_put.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> test_read.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> test_write.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  util.c
> pgcc -o nc_test -Mlfs -O -DpgiFortran  nc_test.o error.o test_get.o 
> test_put.o test_read.o test_write.o util.o -L../libsrc -lnetcdf  
> ./nc_test -c
> ./nc_test
> *** Testing nc_strerror ... ok
> *** Testing nc_open ... ok
> *** Testing nc_close ... ok
> *** Testing nc_inq ... ok
> *** Testing nc_inq_dimid ... ok
> *** Testing nc_inq_dim ... ok
> *** Testing nc_inq_dimlen ... ok
> *** Testing nc_inq_dimname ... ok
> *** Testing nc_inq_varid ... ok
> *** Testing nc_inq_var ... ok
> *** Testing nc_inq_natts ... ok
> *** Testing nc_inq_ndims ... ok
> *** Testing nc_inq_nvars ... ok
> *** Testing nc_inq_unlimdim ... ok
> *** Testing nc_inq_vardimid ... ok
> *** Testing nc_inq_varname ... ok
> *** Testing nc_inq_varnatts ... ok
> *** Testing nc_inq_varndims ... ok
> *** Testing nc_inq_vartype ... ok
> *** Testing nc_get_var_text ...  179 good comparisons. ok
> *** Testing nc_get_var_uchar ...  264 good comparisons. ok
> *** Testing nc_get_var_schar ...  269 good comparisons. ok
> *** Testing nc_get_var_short ...  682 good comparisons. ok
> *** Testing nc_get_var_int ...  1189 good comparisons. ok
> *** Testing nc_get_var_long ...  1189 good comparisons. ok
> *** Testing nc_get_var_float ...  1194 good comparisons. ok
> *** Testing nc_get_var_double ...  1207 good comparisons. ok
> *** Testing nc_get_var1_text ...  179 good comparisons. ok
> *** Testing nc_get_var1_uchar ...  264 good comparisons. ok
> *** Testing nc_get_var1_schar ...  269 good comparisons. ok
> *** Testing nc_get_var1_short ...  682 good comparisons. ok
> *** Testing nc_get_var1_int ...  1189 good comparisons. ok
> *** Testing nc_get_var1_long ...  1189 good comparisons. ok
> *** Testing nc_get_var1_float ...  1194 good comparisons. ok
> *** Testing nc_get_var1_double ...  1207 good comparisons. ok
> *** Testing nc_get_vara_text ...  179 good comparisons. ok
> *** Testing nc_get_vara_uchar ...  264 good comparisons. ok
> *** Testing nc_get_vara_schar ...  269 good comparisons. ok
> *** Testing nc_get_vara_short ...  682 good comparisons. ok
> *** Testing nc_get_vara_int ...  1189 good comparisons. ok
> *** Testing nc_get_vara_long ...  1189 good comparisons. ok
> *** Testing nc_get_vara_float ...  1194 good comparisons. ok
> *** Testing nc_get_vara_double ...  1207 good comparisons. ok
> *** Testing nc_get_vars_text ...  179 good comparisons. ok
> *** Testing nc_get_vars_uchar ...  264 good comparisons. ok
> *** Testing nc_get_vars_schar ...  269 good comparisons. ok
> *** Testing nc_get_vars_short ...  682 good comparisons. ok
> *** Testing nc_get_vars_int ...  1189 good comparisons. ok
> *** Testing nc_get_vars_long ...  1189 good comparisons. ok
> *** Testing nc_get_vars_float ...  1194 good comparisons. ok
> *** Testing nc_get_vars_double ...  1207 good comparisons. ok
> *** Testing nc_get_varm_text ...  179 good comparisons. ok
> *** Testing nc_get_varm_uchar ...  264 good comparisons. ok
> *** Testing nc_get_varm_schar ...  269 good comparisons. ok
> *** Testing nc_get_varm_short ...  682 good comparisons. ok
> *** Testing nc_get_varm_int ...  1189 good comparisons. ok
> *** Testing nc_get_varm_long ...  1189 good comparisons. ok
> *** Testing nc_get_varm_float ...  1194 good comparisons. ok
> *** Testing nc_get_varm_double ...  1207 good comparisons. ok
> *** Testing nc_get_att_text ...  7 good comparisons. ok
> *** Testing nc_get_att_uchar ...  5 good comparisons. ok
> *** Testing nc_get_att_schar ...  7 good comparisons. ok
> *** Testing nc_get_att_short ...  15 good comparisons. ok
> *** Testing nc_get_att_int ...  19 good comparisons. ok
> *** Testing nc_get_att_long ...  19 good comparisons. ok
> *** Testing nc_get_att_float ...  21 good comparisons. ok
> *** Testing nc_get_att_double ...  27 good comparisons. ok
> *** Testing nc_inq_att ... ok
> *** Testing nc_inq_attname ... ok
> *** Testing nc_inq_attid ... ok
> *** Testing nc_inq_attlen ... ok
> *** Testing nc_inq_atttype ... ok
> *** Testing nc_create ... ok
> *** Testing nc_redef ...  1386 good comparisons.  34 good comparisons. ok
> *** Testing nc_sync ...  34 good comparisons.  1386 good comparisons. ok
> *** Testing nc_abort ...  1386 good comparisons.  34 good comparisons. ok
> *** Testing nc_def_dim ... ok
> *** Testing nc_rename_dim ... ok
> *** Testing nc_def_var ... ok
> *** Testing nc_put_var_text ...  179 good comparisons. ok
> *** Testing nc_put_var_uchar ...  264 good comparisons. ok
> *** Testing nc_put_var_schar ...  269 good comparisons. ok
> *** Testing nc_put_var_short ...  682 good comparisons. ok
> *** Testing nc_put_var_int ...  1189 good comparisons. ok
> *** Testing nc_put_var_long ...  1189 good comparisons. ok
> *** Testing nc_put_var_float ...  1194 good comparisons. ok
> *** Testing nc_put_var_double ...  1207 good comparisons. ok
> *** Testing nc_put_var1_text ...  179 good comparisons. ok
> *** Testing nc_put_var1_uchar ...  264 good comparisons. ok
> *** Testing nc_put_var1_schar ...  269 good comparisons. ok
> *** Testing nc_put_var1_short ...  682 good comparisons. ok
> *** Testing nc_put_var1_int ...  1189 good comparisons. ok
> *** Testing nc_put_var1_long ...  1189 good comparisons. ok
> *** Testing nc_put_var1_float ...  1194 good comparisons. ok
> *** Testing nc_put_var1_double ...  1207 good comparisons. ok
> *** Testing nc_put_vara_text ...  179 good comparisons. ok
> *** Testing nc_put_vara_uchar ...  264 good comparisons. ok
> *** Testing nc_put_vara_schar ...  269 good comparisons. ok
> *** Testing nc_put_vara_short ...  682 good comparisons. ok
> *** Testing nc_put_vara_int ...  1189 good comparisons. ok
> *** Testing nc_put_vara_long ...  1189 good comparisons. ok
> *** Testing nc_put_vara_float ...  1194 good comparisons. ok
> *** Testing nc_put_vara_double ...  1207 good comparisons. ok
> *** Testing nc_put_vars_text ...  179 good comparisons. ok
> *** Testing nc_put_vars_uchar ...  264 good comparisons. ok
> *** Testing nc_put_vars_schar ...  269 good comparisons. ok
> *** Testing nc_put_vars_short ...  682 good comparisons. ok
> *** Testing nc_put_vars_int ...  1189 good comparisons. ok
> *** Testing nc_put_vars_long ...  1189 good comparisons. ok
> *** Testing nc_put_vars_float ...  1194 good comparisons. ok
> *** Testing nc_put_vars_double ...  1207 good comparisons. ok
> *** Testing nc_put_varm_text ...  179 good comparisons. ok
> *** Testing nc_put_varm_uchar ...  264 good comparisons. ok
> *** Testing nc_put_varm_schar ...  269 good comparisons. ok
> *** Testing nc_put_varm_short ...  682 good comparisons. ok
> *** Testing nc_put_varm_int ...  1189 good comparisons. ok
> *** Testing nc_put_varm_long ...  1189 good comparisons. ok
> *** Testing nc_put_varm_float ...  1194 good comparisons. ok
> *** Testing nc_put_varm_double ...  1207 good comparisons. ok
> *** Testing nc_rename_var ...  1386 good comparisons. ok
> *** Testing nc_put_att_text ...  7 good comparisons. ok
> *** Testing nc_put_att_uchar ...  5 good comparisons. ok
> *** Testing nc_put_att_schar ...  7 good comparisons. ok
> *** Testing nc_put_att_short ...  15 good comparisons. ok
> *** Testing nc_put_att_int ...  19 good comparisons. ok
> *** Testing nc_put_att_long ...  19 good comparisons. ok
> *** Testing nc_put_att_float ...  21 good comparisons. ok
> *** Testing nc_put_att_double ...  27 good comparisons. ok
> *** Testing nc_copy_att ...  34 good comparisons. ok
> *** Testing nc_rename_att ...  34 good comparisons. ok
> *** Testing nc_del_att ... ok
> *** Testing nc_set_fill ...  2796 good comparisons. ok
> 
> Total number of failures: 0
> *** Success ***
> make[2]: Leaving directory 
> `/home/jliang/netcdf/netcdf-3.5.1-beta10/src/nc_test'
> 
> Returning to directory /home/jliang/netcdf/netcdf-3.5.1-beta10/src
> 
> make[1]: Leaving directory `/home/jliang/netcdf/netcdf-3.5.1-beta10/src'
> make[1]: Entering directory `/home/jliang/netcdf/netcdf-3.5.1-beta10/src'
> 
> Making `test' in directory /home/jliang/netcdf/netcdf-3.5.1-beta10/src/nctest
> 
> make[2]: Entering directory 
> `/home/jliang/netcdf/netcdf-3.5.1-beta10/src/nctest'
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> varget.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> vargetg.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> varput.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> varputg.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> vardef.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> vartests.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> vputget.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> vputgetg.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> driver.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> cdftests.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> dimtests.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  rec.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> atttests.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> misctest.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  add.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> error.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> emalloc.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  val.c
> pgcc -c -Mlfs -O -DpgiFortran -I../libsrc  -Mlfs -DNDEBUG -DpgiFortran  
> slabs.c
> pgcc -o nctest -Mlfs -O -DpgiFortran  varget.o vargetg.o varput.o varputg.o 
> vardef.o vartests.o vputget.o vputgetg.o driver.o cdftests.o dimtests.o rec.o 
> atttests.o misctest.o add.o error.o emalloc.o val.o slabs.o -L../libsrc 
> -lnetcdf  
> ./nctest
> *** Testing nccreate ...      ok ***
> *** Testing ncopen ...                ok ***
> *** Testing ncredef ...               ok ***
> *** Testing ncendef ...               ok ***
> *** Testing ncclose ...               ok ***
> *** Testing ncinquire ...     ok ***
> *** Testing ncsync ...                ok ***
> *** Testing ncabort ...               ok ***
> *** Testing ncdimdef ...      ok ***
> *** Testing ncdimid ...               ok ***
> *** Testing ncdiminq ...      ok ***
> *** Testing ncdimrename ...   ok ***
> *** Testing ncvardef ...      ok ***
> *** Testing ncvarid ...               ok ***
> *** Testing ncvarinq ...      ok ***
> *** Testing ncvarput1 ...     ok ***
> *** Testing ncvarget1 ...     ok ***
> *** Testing ncvarput ...      ok ***
> *** Testing ncvarget ...      *** test_slabs: ncvarget got wrong value for 
> point
> *** test_slabs: ncvarget got wrong value for vector
> *** test_slabs: ncvarget got wrong value for vector
> *** test_slabs: ncvarget got wrong value for vector
...

I believe that your problem is due to a bug in the Portland Group C
compiler.  More information on this can be found at

    http://www.unidata.ucar.edu/cgi-bin/msgout?/glimpse/netcdf/5036

The workaround is to use gcc (the GNU C compiler) instead of pgcc.  Please
try the following:

    1.  Go to the top-level source directory.

    2.  Perform steps 3 through 5 described near the end of the file
        INSTALL.html.

    3.  Ensure that the environment variable CC is set to the absolute
        pathname of the GNU C compiler.

    4.  Ensure that the environment variable CPPFLAGS contains the
        string "-DpgiFortran".

    5.  Perform steps 6 through 9 described near the end of the file
        INSTALL.html.

Regards,
Steve Emmerson