[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20030725: netCDF 3.5.1-beta10 "make test" failure: Linux & pgcc
- Subject: 20030725: netCDF 3.5.1-beta10 "make test" failure: Linux & pgcc
- Date: Fri, 25 Jul 2003 12:48:15 -0600
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