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

Re: 19990521: Core Dumped on SGI machines?



Rui,

>Date: Thu, 20 May 1999 17:49:01 -0400
>From: Rui Gong <address@hidden>
>Organization: Boston University
>To: Russ Rew <address@hidden>
>Subject: Re: 19990519: Core Dumped on SGI machines?
>Keywords: 199905192123.PAA22412

In the above message, you wrote:

>  Running 'configure' does not give me '-64' options, so I changed
> manually the file 'macros.make', related lines are:
> 
> # Compilation:
> CC              = /bin/c89 -64
> CXX             = CC -64 
> FC              = /bin/f77 -64 
> CFLAGS          = -O
> CXXFLAGS        = $(CFLAGS) 
> FFLAGS          = -O
> 
>  Following is some environments:
>  
> 1. Output of 'uname -a' is 'IRIX64 crsb 6.4 02121744 IP27'. 
> 
> 2. VERSION is 3.4

I just built the netCDF 3.4 package from scratch on our IRIX64 6.5
system using the above settings (we no longer have an IRIX64 6.4
system).  It built and tested correctly.

> 3. /usr/bin/cc, /usr/bin/f77, /usr/bin/CC are used.

Actually, you used /usr/bin/c89 rather than /usr/bin/cc.  The program is
smart enough to notice that it was invoked with "c89" rather than "cc"
-- causing certain options to be set.  Because my build of the netCDF
package was successful, however, using "c89" rather than "cc" doesn't
appear to cause problems -- at least on an IRIX64 6.5 system.

> 
> 4. configure.log 
>  
> This file contains any messages produced by compilers while
> running configure, to aid debugging if configure makes a mistake.
> 
> configure:1020: c89 -c -O -DNDEBUG conftest.c 1>&5
> configure:1153: CC -c  -DNDEBUG conftest.C 1>&5
> configure:1373: f77 -c -O conftest.f
> configure:1422: f77 -o conftest -O conftest.F  
> configure:1463: f77 -c -O conftest.f
> configure:1498: f77 -c -O conftest.f
> configure:1521: f77 -c -O conftest.f
> configure:1555: c89 -c -DNDEBUG -O conftest.c
> configure:1557: f77 -O -c conftestf.f
> configure:1559: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1561: ./conftest
> configure:1602: c89 -c -DNDEBUG -O conftest.c
> configure:1604: f77 -O -c conftestf.f
> configure:1606: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1608: ./conftest
> configure:1649: c89 -c -DNDEBUG -O conftest.c
> configure:1651: f77 -O -c conftestf.f
> configure:1653: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1655: ./conftest
> configure:1696: c89 -c -DNDEBUG -O conftest.c
> configure:1698: f77 -O -c conftestf.f
> configure:1700: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1702: ./conftest
> configure:1747: c89 -c -DNDEBUG -O conftest.c
> configure:1749: f77 -O -c conftestf.f
> configure:1751: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1753: ./conftest
> configure:1794: c89 -c -DNDEBUG -O conftest.c
> configure:1796: f77 -O -c conftestf.f
> configure:1798: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1800: ./conftest
> configure:1841: c89 -c -DNDEBUG -O conftest.c
> configure:1843: f77 -O -c conftestf.f
> configure:1845: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1847: ./conftest
> configure:1890: c89 -c -DNDEBUG -O conftest.c
> configure:1892: f77 -O -c conftestf.f
> configure:1894: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1896: ./conftest
> configure:1937: c89 -c -DNDEBUG -O conftest.c
> configure:1939: f77 -O -c conftestf.f
> configure:1941: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1943: ./conftest
> configure:1984: c89 -c -DNDEBUG -O conftest.c
> configure:1986: f77 -O -c conftestf.f
> configure:1988: f77 -o conftest -O  conftestf.o conftest.o 
> configure:1990: ./conftest
> configure:2023: f77 -c -O conftest.f
> configure:2044: f77 -c -O conftest.f
> configure:2398: c89 -o conftest -O -DNDEBUG  conftest.c  1>&5
> configure:2702: c89 -o conftest -O -DNDEBUG  conftest.c  1>&5

Actually, the above file is "config.log" rather than "configure.log".
"configure.log" is the name of the file into which the INSTALL document
says to redirect the standard output and standard error of the configure
script; whereas, "config.log" is created directly by the configure
script itself.

> 
> 
> * make.log
> Making `all' in directory
> /data/medea1/ruigong/netcdfn/netcdf-3.4/src/libsrc
> 
>         /bin/c89 -64 -c -O -I.  -DNDEBUG attr.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG dim.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG error.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG -DVERSION=`cat ../VERSION`
> libvers.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG nc.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG ncio.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG ncx.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG putget.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG string.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG v1hpg.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG v2i.c
>         /bin/c89 -64 -c -O -I.  -DNDEBUG 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
>         : libnetcdf.a
> 
> Returning to directory /data/medea1/ruigong/netcdfn/netcdf-3.4/src
> 
> 
> Making `all' in directory
> /data/medea1/ruigong/netcdfn/netcdf-3.4/src/fortran
> 
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-attio.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-control.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-dim.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-genatt.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-geninq.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-genvar.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-lib.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-misc.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-v2compat.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-vario.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-var1io.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-varaio.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-varmio.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG fort-varsio.c
>         ar cru   ../libsrc/libnetcdf.a fort-attio.o      fort-control.o 
> fort-dim.
> o        fort-genatt.o   fort-geninq.o   fort-genvar.o   fort-lib.o     
> fort-misc
> .o       fort-v2compat.o         fort-vario.o    fort-var1io.o  
> fort-varaio.o   f
> ort-varmio.o     fort-varsio.o
>         : ../libsrc/libnetcdf.a
> 
> Returning to directory /data/medea1/ruigong/netcdfn/netcdf-3.4/src
> 
> 
> Making `all' in directory
> /data/medea1/ruigong/netcdfn/netcdf-3.4/src/ncdump
> 
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG ncdump.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG vardata.c
>         /bin/c89 -64 -c -O -I../libsrc  -DNDEBUG dumplib.c
>         /bin/c89 -64 -o ncdump -O  ncdump.o vardata.o dumplib.o
> -L../libsrc -lnetc
> df  
> 
> Returning to directory /data/medea1/ruigong/netcdfn/netcdf-3.4/src
> 
> 
> Making `all' in directory
> /data/medea1/ruigong/netcdfn/netcdf-3.4/src/ncgen
> 
>         /bin/c89 -64 -c -O -I../libsrc -I.  -DNDEBUG main.c
>         /bin/c89 -64 -c -O -I../libsrc -I.  -DNDEBUG load.c
>         /bin/c89 -64 -c -O -I../libsrc -I.  -DNDEBUG ncgentab.c
>         /bin/c89 -64 -c -O -I../libsrc -I.  -DNDEBUG escapes.c
>         /bin/c89 -64 -c -O -I../libsrc -I.  -DNDEBUG getfill.c
>         /bin/c89 -64 -c -O -I../libsrc -I.  -DNDEBUG init.c
>         /bin/c89 -64 -c -O -I../libsrc -I.  -DNDEBUG genlib.c
>         /bin/c89 -64 -o ncgen -O  main.o load.o ncgentab.o escapes.o 
> getfill.o in
> it.o genlib.o ../libsrc/libnetcdf.a  
> 
> Returning to directory /data/medea1/ruigong/netcdfn/netcdf-3.4/src
> 
> 
> Making `all' in directory
> /data/medea1/ruigong/netcdfn/netcdf-3.4/src/cxx
> 
>         CC -64  -c -O  -I../libsrc  -DNDEBUG netcdf.cc
>         CC -64  -c -O  -I../libsrc  -DNDEBUG ncvalues.cc
>         ar cru   libnetcdf_c++.a netcdf.o ncvalues.o
>         : libnetcdf_c++.a
>         CC -64  -c -O  -I../libsrc  -DNDEBUG nctst.cc
>         CC -64  -o nctst -I../libsrc  -DNDEBUG -O   nctst.o
> libnetcdf_c++.a -L../l
> ibsrc -lnetcdf 
> 
> Returning to directory /data/medea1/ruigong/netcdfn/netcdf-3.4/src
> 
> 
> 5. test.log 

Unfortunately, you didn't include the entire "test.log" file.  This
makes it more difficult to diagnose the problem because the missing
lines might have been useful (see below).

> 
> *** 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 ...        ok ***
> *** Testing ncvarputg ...       ok ***
> *** Testing ncvargetg ...       ok ***
> *** Testing ncrecinq ...        ok ***
> *** Testing ncrecput ...        ok ***
> *** Testing ncrecget ...        ok ***
> *** Testing ncvarrename ...     ok ***
> *** Testing ncattput ...        ok ***
> *** Testing ncattinq ...        ok ***
> *** Testing ncattget ...        ok ***
> *** Testing ncattcopy ...       ok ***
> *** Testing ncattname ...       ok ***
> *** Testing ncattrename ...     ok ***
> *** Testing ncattdel ...        ok ***
> *** Testing nctypelen ...       ok ***

The above indicates that the netCDF library that you built passes the
netCDF version 2 tests.  This test uses the netCDF version 3 library.

> "nc_test.c": Warning: Olimit was exceeded on function main; to override
> use -OPT:Olimit=2204
> "nc_test.c": Warning: Function main (#1) was not optimized
> "nc_test.c": Warning: To override Olimit for all functions in file, use
> -OPT:Olimit=2204

There should have been compilation lines after the above and before the
following.  Did you remove these lines?  If not, then it indicates that
a "make clean" was not done before rebuilding the package -- which can
result in an inconsistent library.

> *** 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 ... 
>         FAILURE at line 1153 of test_get.c: value read not that expected
>         FAILURE at line 1153 of test_get.c: value read not that expected
>         FAILURE at line 1153 of test_get.c: value read not that expected
>         FAILURE at line 1153 of test_get.c: value read not that expected
>         FAILURE at line 1153 of test_get.c: value read not that expected
>         FAILURE at line 1153 of test_get.c: value read not that expected
>         FAILURE at line 1153 of test_get.c: value read not that expected
>         FAILURE at line 1153 of test_get.c: value read not that expected

The above is consistent with object modules being left over from a
previous build that are inconsistent with the object modules of the
current build.  I can't tell for certain because of your editing of the
log files.

I suggest trying the following:

    1.  Perform steps 2 through 5 near the end of the INSTALL file.

    2.  Set the following environment variables to the indicated values:

            VARIABLE            VALUE
            --------            -----
            CC                  /bin/c89 -64
            CFLAGS              -O
            FC                  /bin/f77 -64
            FFLAGS              -O
            CXX                 /bin/CC -64

    3.  Perform steps 6 through 9 near the end of the INSTALL file.

If you encounter a problem, please do not edit any files that you send
me.

Please let me know if this helps.

Regards,
Steve Emmerson   <http://www.unidata.ucar.edu>