This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
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