[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20040525: building netCDF package under Linux using gcc & ifort
- Subject: 20040525: building netCDF package under Linux using gcc & ifort
- Date: Tue, 25 May 2004 09:44:43 -0600
Ian,
> To: address@hidden
> From: Ian Rutt <address@hidden>
> Subject: Problems compiling NetCDF library
> Organization: School of Geographical Sciences, University of Bristol.
> Keywords: 200405251150.i4PBoStK000267
The above message contained the following:
> I've been having problems compiling the NetCDF library. It fails at the
> 'make' stage, and I'm really not sure how to solve the problem.
>
> I run configure with --prefix=/usr/netcdf-3.5.1
>
> I have CC=gcc, CXX=g++, FC=ifort and FCC=ifort.
The build procedure doesn't use the environment variable FCC. I assume,
therefore, that you meant the environment variable F90.
> The paths for these compilers are:
>
> /usr/local/bin/gcc
> /usr/local/bin/g++
> /opt/intel_fc_80/bin/ifort
>
> The output of uname -a is:
>
> Linux linux 2.4.21-215-default #1 Tue Apr 27 01:00:43 UTC 2004 i686 i686
> i386 GNU/Linux
>
> The other diagnostics files are attached.
>
> I'd be grateful for any help you can give.
The "make.log" file shows the following error (after reformatting):
Making `all' in directory /home/ggicr/downloads/netcdf-3.5.1/src/fortran
make[2]: Entering directory `/home/ggicr/downloads/netcdf-3.5.1/src/fortran'
gcc -c -O -I../libsrc fort-attio.c
In file included from ncfortran.h:13,
from 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.
- Alpha VMS DEC C 1.3 and DEC FORTRAN 6.0.
- Alpha 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 SUPER-UX
- CONVEX
- Sun
- PowerStation Fortran with Visual C++
- HP9000s300/s700/s800 Latest test with: HP-UX A.08.07 A 9000/730
- LynxOS: cc or gcc with f2c.
- VAXUltrix: vcc,cc or gcc with f2c. gcc or cc with f77.
- f77 with vcc works; but missing link magic for f77 I/O.
- NO fort. None of gcc, cc or vcc generate required names.
- f2c : Use #define f2cFortran, or cc -Df2cFortran
- NAG f90: Use #define NAGf90Fortran, or cc -DNAGf90Fortran
- Absoft UNIX F77: Use #define AbsoftUNIXFortran or cc
-DAbsoftUNIXFortran
- Absoft Pro Fortran: Use #define AbsoftProFortran
- Portland Group Fortran: Use #define pgiFortran"
make[2]: *** [fort-attio.o] Error 1
make[2]: Leaving directory `/home/ggicr/downloads/netcdf-3.5.1/src/fortran'
make[1]: *** [subdir_target] Error 1
make[1]: Leaving directory `/home/ggicr/downloads/netcdf-3.5.1/src'
make: *** [fortran/all] Error 2
You need to define in the environment variable CPPFLAGS the C macro that
tells the C compiler what Fortran calling-conventions to use when it
compiles the C functions that constitute the Fortran interface. In your
case, the C macro that needs to be defined is "pgiFortran".
Please try the following:
1. Go to the top-level source-directory.
2. Perform steps 3 and 4 described at
http://my.unidata.ucar.edu/content/software/netcdf/INSTALL.html#ReportingProblems
3. Set the following environment variables to the indicated values:
CC=gcc
CPPFLAGS="-DNDEBUG -DpgiFortran"
CFLAGS=-O
FC=ifort
FLIBS=-Vaxlib
FFLAGS="-O -mp -cm -w95"
NOTES:
A. How this is done will depend on your user-shell.
B. The above settings are based on
http://www.unidata.ucar.edu/packages/netcdf/other-builds.html#intel-ifc%203.5.1-beta13
4. Perform steps 6 through 9 described at
http://my.unidata.ucar.edu/content/software/netcdf/INSTALL.html#ReportingProblems
Please let me know if this helps.
> Thanks very much,
>
> Ian Rutt
>
> ----------------------
> Dr Ian Rutt
> School of Geographical Sciences, University of Bristol.
> address@hidden
Regards,
Steve Emmerson
> NOTE: All email exchanges with Unidata User Support are recorded in the
> Unidata inquiry tracking system and then made publically available
> through the web. If you do not want to have your interactions made
> available in this way, you must let us know in each email you send to us.