On 20 Dec 2007, at 00:12, Roy Mendelssohn wrote:
If I understand the message correctly, Netcdf creates it's Fortran
bindings to C using cfortran.h to define how things are passed, see
http://www-zeus.desy.de/~burow/cfortran/cfortran.html. The error
suggests that the intel compiler isn't included.
To be certain, find the cfortran.h file in he Fortran folder and
see if it defines the intel compiler. If it does, include in the
Fortran flags -Dwhateverthenames
If you can't find the Intel compiler, I believe there is one for
AbsoftProUnix so adding -DAbsoftProUnix or whatever the name is
might work.
Also, I believe cfortran.h is only used for f77, not for F90. So
if you only need F90. exclude in the configure. I forget the exact
option for this, but do ./configure --help and it should tell you
how to do that.
HTH,
-Roy M.
Yes it appears Intel compiler isn't in the cfortran.h but surely I'm
missing something???
I've now installed 'f2c' and it seems that affects things since now
there is no problem with "can't find your environment". It now
appears to build some parts (not sure where to look to see what is
built) and passes some tests but then fails in nf_test (see below) -
anybody seen this before? Thanks, M
Making check in nf_test
make nf_test tst_f77_v2 ftest tst_f90
/opt/intel/fc/10.1.006/bin/ifort -DHAVE_CONFIG_H -I. -I. -I.. -I../
fortran -Df2cFortran -I../libsrc -I../f90 -g -c -o test_get.o
test_get.F
/opt/intel/fc/10.1.006/bin/ifort -DHAVE_CONFIG_H -I. -I. -I.. -I../
fortran -Df2cFortran -I../libsrc -I../f90 -g -c -o test_put.o
test_put.F
/opt/intel/fc/10.1.006/bin/ifort -DHAVE_CONFIG_H -I. -I. -I.. -I../
fortran -Df2cFortran -I../libsrc -I../f90 -g -c -o nf_error.o
nf_error.F
/opt/intel/fc/10.1.006/bin/ifort -DHAVE_CONFIG_H -I. -I. -I.. -I../
fortran -Df2cFortran -I../libsrc -I../f90 -g -c -o nf_test.o
nf_test.F
/opt/intel/fc/10.1.006/bin/ifort -DHAVE_CONFIG_H -I. -I. -I.. -I../
fortran -Df2cFortran -I../libsrc -I../f90 -g -c -o test_read.o
test_read.F
/opt/intel/fc/10.1.006/bin/ifort -DHAVE_CONFIG_H -I. -I. -I.. -I../
fortran -Df2cFortran -I../libsrc -I../f90 -g -c -o test_write.o
test_write.F
/opt/intel/fc/10.1.006/bin/ifort -DHAVE_CONFIG_H -I. -I. -I.. -I../
fortran -Df2cFortran -I../libsrc -I../f90 -g -c -o util.o util.F
depbase=`echo fortlib.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; \
if cc -DHAVE_CONFIG_H -I. -I. -I.. -I../fortran -Df2cFortran -g -
O2 -MT fortlib.o -MD -MP -MF "$depbase.Tpo" -c -o fortlib.o fortlib.c; \
then mv -f "$depbase.Tpo" "$depbase.Po"; else rm -f "$depbase.Tpo";
exit 1; fi
/bin/sh ../libtool --tag=F77 --mode=link /opt/intel/fc/10.1.006/bin/
ifort -I../libsrc -I../f90 -g -o nf_test test_get.o test_put.o
nf_error.o nf_test.o test_read.o test_write.o util.o fortlib.o ../
libsrc/libnetcdf.la
libtool: link: /opt/intel/fc/10.1.006/bin/ifort -I../libsrc -I../f90 -
g -o nf_test test_get.o test_put.o nf_error.o nf_test.o test_read.o
test_write.o util.o fortlib.o ../libsrc/.libs/libnetcdf.a
ld: Undefined symbols:
_nf_open_
_nf_get_var1_text_
_nf_close_
_nf_get_var1_int1_
_nf_get_var1_int2_
_nf_get_var1_int_
_nf_get_var1_real_
_nf_get_var1_double_
{many more _nf symbols}
_nf_rename_att_
_nf_del_att_
_nf_set_fill_
_nf_set_default_format_
_min_schar_
_min_short_
_min_int_
_max_float_
_max_double_
_max_schar_
_max_short_
_max_int_
make[2]: *** [nf_test] Error 1
make[1]: *** [check-am] Error 2
make: *** [check-recursive] Error 1