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

Re: NEC SX-4 64 bit IEEE Netcdf



On Nov 27,  9:36pm, Harvey DAVIES wrote:
> Glenn writes:
> > ... ftest errors ...
> > ftest tests the version 2 compatibility interface (fort-v2compat.c).
> > I haven't seen this problem. I used FC=f90, not f77.
>
> I tried FC=f90, which did solve above problem linking ftest in src/fortran.
> However ftest produced following:
>
> ./ftest
> *** Testing nccre ...
> *** Testing ncddef ...
> *** Testing ncvdef ...
> *** Testing ncapt, ncaptc ...
> *** Testing ncclos ...
> *** Testing ncvpt1 ...
> *** Testing ncvgt1 ...
>  error in ncvgt1 byte:  0   .ne.  122
>  error in ncvgt1 short:  0   .ne.  10
>  error in ncvgt1 long:  0   .ne.  1000
>  error in ncvgt 1 float:  0.000000000000000E+00   not close to
 3.141590000000000
>  error in ncvgt1 double:  0.000000000000000E+00   not close to
 0.3333333333000000
>  error in ncvg1c
> *** Testing ncvpt ...
> *** Testing ncopn, ncinq, ncdinq, ncvinq, ncanam, ncainq ...
>  error in ncinq or ncddef
>  error in ncinq or ncvdef
>  error in ncinq or ncapt
>  error: bad recdim from ncinq
> *** Testing ncvgt, ncvgtc ...
> *** Testing ncagt, ncagtc ...
> *** Testing ncredf, ncdren, ncvren, ncaren, ncendf ...
>  error in ncinq or ncddef
>  error in ncinq or ncvdef
>  error in ncinq or ncapt
>  error: bad recdim from ncinq
> *** Testing ncacpy ...
> *** Testing ncadel ...
> *** Testing fill values ...
>  error in byte fill value
>  error in double fill value
>  error in float fill value
>  error in long fill value
>  error in short fill value
>

Since you C code work,
this looks like configure didn't get the mapping between C types
and FORTRAN types right. Are FC, FFLAGS, and so on the same now
as they were when you ran configure?


> > Does 'make test' in nf_test/ fail as well?
>
> Yes.  In fact even using f90, linking still fails for nf_test in similar way
> to that in which ftest link failed before.  The output is:
>
> undefined                       first referenced
>  symbol                             in file
> nf_get_var1_int1_                   test_get.o
> nf_get_var1_int2_                   test_get.o
> nf_get_var_int1_                    test_get.o
> nf_get_var_int2_                    test_get.o
> nf_get_vara_int1_                   test_get.o
> nf_get_vara_int2_                   test_get.o
> nf_get_vars_int1_                   test_get.o
> nf_get_vars_int2_                   test_get.o
> nf_get_varm_int1_                   test_get.o
> nf_get_varm_int2_                   test_get.o
> nf_get_att_int1_                    test_get.o
> nf_get_att_int2_                    test_get.o
> nf_put_var1_int1_                   test_put.o
> nf_put_var1_int2_                   test_put.o
> nf_put_var_int1_                    test_put.o
> nf_put_var_int2_                    test_put.o
> nf_put_vara_int1_                   test_put.o
> nf_put_vara_int2_                   test_put.o
> nf_put_vars_int1_                   test_put.o
> nf_put_vars_int2_                   test_put.o
> nf_put_varm_int1_                   test_put.o
> nf_put_varm_int2_                   test_put.o
> nf_put_att_int1_                    test_put.o
> nf_put_att_int2_                    test_put.o
> ld fatal: symbol referencing errors. no output written to file nf_test.
> f90 fatal : ld command error : 13

I would bet that the directory nf_test still has *.o files that were
built before you switched from f77 to f90.

I know it is a pain, but try this.
        - 'make distclean' from the top level.
        - Be sure you've got your FC, FFLAGS, CC, and CFLAGS environment
        variables the way you want them.
        - rerun configure, make all, make test, ...

In working on the fortran to C interface, we are getting outside
of my area of detailed understanding. I've CC: steve on this
message. If you are still having problems after you try the above,
send him the configure output and fortran/nfconfig.inc

Good luck.

-glenn