[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20031203: Problem with Absoft8.0 on Mac OS
- Subject: 20031203: Problem with Absoft8.0 on Mac OS
- Date: Wed, 03 Dec 2003 11:17:14 -0700
Stephen,
>Date: Wed, 03 Dec 2003 09:18:07 -0800
>From: Stephen Leroy <address@hidden>
>Organization: NASA/JPL
>To: Steve Emmerson <address@hidden>
>Subject: Re: 20031202: Problem with Absoft8.0 on Mac OS
The above message contained the following:
> Thanks for the suggestions (as usual). I executed the "make" and "make
> test" but still have problems in the make test. I've attached the
> outputs of make (make_20021203.log), make test (test_20021203.log),
> and the current cfortran.h.
...
> Making `test' in directory /Users/ssl/Packages/netcdf-3.5.0/src/fortran
>
> + /Applications/Absoft/bin/f90 -c -YEXT_SFX=_ -YCFRL=1 ftest.F
> 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 fort-varmio.o fort-varsio.o
> ranlib ../libsrc/libnetcdf.a
> /Applications/Absoft/bin/f90 -o ftest -YEXT_SFX=_ -YCFRL=1 ftest.o
> ../libsrc/li
> bnetcdf.a
> ./ftest
> *** Testing nccre ...
> *** Testing ncddef ...
> *** Testing ncvdef ...
> *** Testing ncapt, ncaptc ...
> *** Testing ncclos ...
> *** Testing ncvpt1 ...
> *** Testing ncvgt1 ...
> *** Testing ncvpt ...
> *** Testing ncopn, ncinq, ncdinq, ncvinq, ncanam, ncainq ...
> *** Testing ncvgt, ncvgtc ...
> *** Testing ncagt, ncagtc ...
> *** Testing ncredf, ncdren, ncvren, ncaren, ncendf ...
> *** Testing ncacpy ...
> *** Testing ncadel ...
> *** Testing fill values ...
Well, that's better. The linker was able to find the netCDF-2 Fortran
symbols, so it appears that version 8 of the MacOS X Absoft Fortran
compiler doesn't use the same naming convention as version 7 (at least
when "-YEXT_SFX=_" and "-YCFRL=1" are used).
What do the "-YEXT_SFX=_" and "-YCFRL=1" options do?
...
> Making `test' in directory /Users/ssl/Packages/netcdf-3.5.0/src/nf_test
>
> + /Applications/Absoft/bin/f90 -c -YEXT_SFX=_ -YCFRL=1 test_get.F
>
> !/* EXTERNAL ATT_NAME */
> ^
> cf90-1643 f90fe: WARNING TEST_NF_GET_VAR1_TEXT, File = tests.inc, Line = 199,
> Co
> lumn = 25
> local variable VARID never referenced.
>
>
> ^
> cf90-1643 f90fe: WARNING TEST_NF_GET_VAR1_TEXT, File = tests.inc, Line = 200,
> Co
> lumn = 25
> local variable NATTS never referenced.
>
> INTEGER VARID
A Fortran compiler option might turn off ignorable warnings like the
above.
...
> Making `test' in directory /Users/ssl/Packages/netcdf-3.5.0/src/f90
>
> /Applications/Absoft/bin/f90 -o netcdf_test -YEXT_NAMES=LCS -YEXT_SFX=_
> -YCFRL=1
> netcdf_test.f90 netcdf.o typeSizes.o ../libsrc/libnetcdf.a
> ld: Undefined symbols:
> _nf__create_
> _nf__create_mp_
> _nf__enddef_
> _nf__open_
> _nf__open_mp_
> _nf_abort_
> _nf_close_
I notice that the Absoft Fortran option "-YEXT_NAMES=LCS" was used when
Fortran-90 code was compiled but not when Fortran-77 code was compiled,
i.e.,
Making `test' in directory /Users/ssl/Packages/netcdf-3.5.0/src/fortran
+ /Applications/Absoft/bin/f90 -c -YEXT_SFX=_ -YCFRL=1 ftest.F
versus
Making `test' in directory /Users/ssl/Packages/netcdf-3.5.0/src/f90
/Applications/Absoft/bin/f90 -o netcdf_test -YEXT_NAMES=LCS -YEXT_SFX=_ \
-YCFRL=1 netcdf_test.f90 netcdf.o typeSizes.o ../libsrc/libnetcdf.a
I suspect that this is the reason that the Fortran-90 test routines
can't find the Fortran-77 routines. It could be that the makefile
"f90/Makefile" has the "-YEXT_NAMES=LCS" option hard-coded into it.
What does the "-YEXT_NAMES=LCS" option do?
Regards,
Steve Emmerson