[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20030826: compile netCDF using gfortran
- Subject: 20030826: compile netCDF using gfortran
- Date: Tue, 26 Aug 2003 09:48:32 -0600
Dumas,
> To: address@hidden
> From: Dumas Patrice <address@hidden>
> Subject: compile netcdf with gfortran
> Organization: ?
> Keywords: netCDF gfortran
The above message contained the following:
> I have a linux redhat 9.
> I am trying to compile netcdf with fortran 90, using gfortran.
I'm not aware of anyone ever using gfortran with the netCDF package.
g77 has been used, however.
> I found that
> compiler in the gcc CVS, in the tree-ssa-20020619-branch and installed
> it as explained on http://gcc-g95.sourceforge.net/.
> I use the gcc suite installed as part of the redhat 9 for the other
> languages.
>
> It fails during make. Here are the commands I ran:
> $ export F90=/opt/data/dumas/gcc/bin/gfortran
> $ ./configure --prefix=/usr/local > configure.log 2>&1
> $ make > make.log 2>&1
>
> Here are the informations requested for installation failure:
>
> $ uname -a
> Linux zeus 2.4.20-18.9 #1 Thu May 29 07:08:16 EDT 2003 i686 i686 i386
> GNU/Linux
>
> $ cat VERSION
> 3.5.1-beta13
>
> $ which c89
> /usr/bin/c89
> $ which c++
> /usr/bin/c++
> $ which f77
> /usr/bin/f77
>
> I attached configure.log, make.log, macros.make, config.log.
>
> Hope it helps !
>
> Pat
> creating cache ./config.cache
> checking for top-level source-directory
> /opt/data/src/netcdf-3.5.1-beta13/src
> checking for m4 preprocessor
> checking for m4... m4
> checking m4 flags... -B10000
> checking for xlc... no
> checking for c89... c89
> checking C compiler "c89"... works
> checking how to make dependencies... false
> checking for CC... no
> checking for cxx... no
> checking for c++... c++
> checking C++ compiler "c++"... works
> checking how to run the C preprocessor... c89 -E
> checking "/opt/data/dumas/gcc/bin/gfortran" as Fortran-77 compiler... failed
> to compile test program
It appears from the above that gfortran IS NOT a Fortran-77 compiler.
> checking for f77... f77
> checking for Fortran .F compiler...
> checking if Fortran-77 compiler handles *.F files... yes
> checking user-defined Fortran-90 compiler
> "/opt/data/dumas/gcc/bin/gfortran"... works
It appears from the above that gfortran IS a Fortran-90 compiler.
...
> Making `all' in directory /opt/data/src/netcdf-3.5.1-beta13/src/fortran
>
> make[2]: Entre dans le r=E9pertoire `/cired/zeus/data/src/netcdf-3.5.1-beta=
> 13/src/fortran'
> c89 -c -O -I../libsrc -DNDEBUG fort-attio.c
> Dans le fichier inclus =E0 partir de ncfortran.h:13,
> =E0 partir de fort-attio.c:6:
> cfortran.h:134:3: #error "cfortran.h: Can't find your environment among: =
> - MIPS cc and f77 2.0. (e.g. Silicon Graphics, DECstations, ...) =
> - IBM AIX XL C and FORTRAN Compiler/6000 Version 01.01.0000.0000 - =
> VAX VMS CC 3.1 and FORTRAN 5.4. - Al=
> pha VMS DEC C 1.3 and DEC FORTRAN 6.0. - Alph=
> a OSF DEC C and DEC Fortran for OSF/1 AXP Version 1.2 - Apollo=
> DomainOS 10.2 (sys5.3) with f77 10.7 and cc 6.7. - CRAY =
> - NEC SX-4 S=
> UPER-UX - CONVEX =
> - Sun =
> - PowerStation For=
> tran with Visual C++ - HP9000s300/s700/s8=
> 00 Latest test with: HP-UX A.08.07 A 9000/730 - LynxOS: cc or gcc wi=
> th f2c. - VAXUltrix: vcc,cc or g=
> cc with f2c. gcc or cc with f77. - f77 with vcc =
> works; but missing link magic for f77 I/O. - NO fort. None o=
> f gcc, cc or vcc generate required names. - f2c : Use #define f2cF=
> ortran, or cc -Df2cFortran - NAG f90: Use #define NAGf90For=
> tran, or cc -DNAGf90Fortran - Absoft UNIX F77: Use #define Abs=
> oftUNIXFortran or cc -DAbsoftUNIXFortran - Absoft Pro Fortran: Use #def=
> ine AbsoftProFortran - Portland Group Fortran: Use #define pgiFortran"
> make[2]: *** [fort-attio.o] Erreur 1
> make[2]: Quitte le r=E9pertoire `/cired/zeus/data/src/netcdf-3.5.1-beta13/s=
> rc/fortran'
> make[1]: *** [subdir_target] Erreur 1
> make[1]: Quitte le r=E9pertoire `/cired/zeus/data/src/netcdf-3.5.1-beta13/s=
> rc'
> make: *** [fortran/all] Erreur 2
The above indicates that the C compiler didn't know what Fortran
argument-passing conventions to use. This information must be given to it
manually by defining a certain C macro in the CPPFLAGS environment
variable before executing the configure script.
Assuming that gfortran uses the same argument-passing conventions that
g77 uses (if it doesn't, then the "make test" will fail) then please try
the following:
1. Go to the top-level source directory.
2. Perform steps 3 through 5 described near the end of the file
INSTALL.html.
3. Define the C macro "f2cFortran" in the environment variable
CPPFLAGS:
export CPPFLAGS=-Df2cFortran
or
setenv CPPFLAGS -Df2cFortran
depending on your user-shell.
4. Perform steps 6 through 9 described near the end of the file
INSTALL.html.
Regards,
Steve Emmerson