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.
> Full Name: ZHUO LIU > Email Address: address@hidden > Organization: University of Manitoba > Package Version: netcdf 4.1.3 > Operating System: mac osx lion/Xcode4.3 > Hardware: mac pro 3.2 ghz quad-core intel xeon > Description of problem: > > dear Sir/madam, > > How are you. Hi, > I have a problem to install netcdf 4.1.3 with openmpi, I have openmpi > installed on /Users/george/tmp/gopenmpi, now I download netcdf 4.1.3 > and installed it with the following commands, > > ./configure FC=/Users/george/tmp/gopenmpi/bin/mpif90 > CC=/Users/george/tmp/gopenmpi/bin/mpicc > CXX=/Users/george/tmp/gopenmpi/bin/mpicxx CFLAGS=-m64 CXXFLAGS=-m64 > FFLAGS=-m64 FCFLAGS=-m64 F90=/Users/george/tmp/gopenmpi/bin/mpif90 > -prefix=/usr/local_parallel -enable-netcdf-4 > > The config.log is attached. > > Then I typed make |&tee make.res, it seems successful, make.res is > also attached. > > Then I execute: make check |&tee check.res > I got errors that, > ... > ld: symbol(s) not found for architecture x86_64 > ... > > Please see the attachment check.res > > Please help me to find where it is wrong. > Your help is appreciated. I think you need to include CPPFLAGS="-DpgiFortran" in the environment variables before running the configure script, because the cfortran.h include file used for representing how the Fortran compiler calls the C compiler does not include a test for the "mpif90" compiler, which uses the same conventions as the pgi f90 compiler. An alternative solution would be to use the new netCDF 4.2 release to compile and install just the C library. Then you would use the netCDF-Fortran 4.2 or 4.4-beta1 release to install the Fortran library, telling it where the C library is. The netCDF-4.2 Fortran still uses the cfortran.h definitions and so requires the CPPFLAGS="-DpgiFortran" definitions when you are building the C libraries, but if you try the 4.4-beta1 netCDF Fortran library, it doesn't need cfortran.h or the CPPFLAGS definition. --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: XBT-452987 Department: Support netCDF Priority: Normal Status: Closed