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

20040415: netCDF on Linux with NAG fortran



Sandy,

>Date: Thu, 15 Apr 2004 09:09:53 -0400
>From: Sandy Sillman <address@hidden>
>Organization: University of Michigan
>To: Steve Emmerson <address@hidden>
>Subject: Re: 20040414: netCDF on Linux with NAG fortran 
> Keywords: 200404012156.i31LuuCT013274 netCDF 3.5.1

The above message contained the following:

> I re-did the test with 'make clean' and got the same results.
> 
> When I did the original test, it was part of a complete re-installation in a
> new directory.  (I had already installed netCDF.  For this test I un-tarred
> the netCDF tar file, went into the new created directory, did configure,
> make and make test. )
> 
> This time I went into the previously installed file (...src), went to
> nf_test and 'make clean'
> 
> ( make clean
> rm -f *.o *.a *.so *.sl *.i *.Z core times lint.out nf_test scratch.nc *.f77
> ) 
> 
> The results are the same.
> 
> This may be because I had already installed netCDF and moved the files
> (bin... include...  lib...  src...) to a different directory.  The first
> "make test" was part of a completely different installation, but perhpas it
> was confused by the installed version elsewhere.

The "make test" command doesn't use any installed components of the
netCDF package: only the components in the "src" directory-hierarchy.
Consequently, you don't have to worry about whether or not you moved any
installed files or directories.

> Sandy Sillman
> 
> EXCERPT OF TEST.LOG:
> Returning to directory /home/sillman/cmaq03/lib/netCDF/Linux/src
> 
> make[1]: Leaving directory `/home/sillman/cmaq03/lib/netCDF/Linux/src'
> make[1]: Entering directory `/home/sillman/cmaq03/lib/netCDF/Linux/src'
> 
> Making `test' in directory /home/sillman/cmaq03/lib/netCDF/Linux/src/nf_test
> 
> make[2]: Entering directory
> `/home/sillman/cmaq03/lib/netCDF/Linux/src/nf_test'
> + /usr/local/bin/f95 -c -O -I /usr/local/lib/fl90_modules -dusty -w
> test_get.F
> + /usr/local/bin/f95 -c -O -I /usr/local/lib/fl90_modules -dusty -w
> test_put.F
> + /usr/local/bin/f95 -c -O -I /usr/local/lib/fl90_modules -dusty -w
> nf_error.F
> + /usr/local/bin/f95 -c -O -I /usr/local/lib/fl90_modules -dusty -w
> nf_test.F
> + /usr/local/bin/f95 -c -O -I /usr/local/lib/fl90_modules -dusty -w
> test_read.F
> + /usr/local/bin/f95 -c -O -I /usr/local/lib/fl90_modules -dusty -w
> test_write.F
> + /usr/local/bin/f95 -c -O -I /usr/local/lib/fl90_modules -dusty -w util.F
> /usr/bin/gcc -c -O   -DNDEBUG -DNAGf90Fortran fortlib.c
> /usr/local/bin/f95 -o nf_test -O -I /usr/local/lib/fl90_modules -dusty -w
> test_get.o test_put.o nf_error.o nf_test.o test_read.o test_write.o util.o
> fortlib.o ../libsrc/libnetcdf.a  -lm  -lg2c
> ./nf_test -c
> *** Testing nf_strerror ...
> *** Testing nf_open ...
>  nf_open: No such file or directory

The sequence of messages in the above should have been

    ...
    ./nf_test -c
    ./nf_test
    *** Testing nf_strerror ... 
    *** Testing nf_open ... 
    ...

The fact that the "./nf_test" message is missing leads me to suspect
that the program didn't see the "-c" option for some reason.  The
"-c" option causes the test netCDF file to be created.  This is also
consistent with the error message about the test netCDF file not existing.

I suspect a problem with the implementation of your getarg() routine
(I know, you just found it).  If you know Fortran-77, then I suggest
editing the file "nf_test/nf_test.F" -- adding diagnostic print
statements around where the "getarg()" routine is used.

Alternatively,
you could rebuild the netCDF package from scratch after specifying
debug options (instead of optimize options) to the C and Fortran-77
compilers (in the CFLAGS and FFLAGS environment variables,
respectively).  The execute the "nf_test" program under a debugger and
see what the program does around the getarg() calls.

Can you do one of these things?

Regards,
Steve Emmerson