[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
19981216: Re: building netCDF on Linux: environment variables
- Subject: 19981216: Re: building netCDF on Linux: environment variables
- Date: Wed, 16 Dec 1998 10:49:47 -0700
Keith,
> To: "'address@hidden'" <address@hidden>
> From: Keith Bigelow <address@hidden>
> Subject: Problems building netCDF on Linux
> Organization: .
> Keywords: 199812160303.UAA06866
In the above message, you wrote:
> Hello, I am trying to install the netCDF on a linux machine and the install
> have several errors on the "make" portion of the install. I have checked the
> document www.unidata.ucar.edu/packages/netcdf/INSTALL and offer the
> following for diagnosis.
>
> Note: the problem may reside in the fortran compiler which is a fortran to C
> converter and not a usual fortran compiler.
>
> Per the reporting problems I did the following:
> make disclean
> rm config.cache
> CC=/usr/bin/cc
> CPPFLAGS=-Df2cFortran
> CFLAGS=-g
> FC=/usr/bin/fort77
> FFLAGS="-g -Nx400 -w"
> CXX=/usr/c++
> configure --prefix=/usr/local > configure.log 2>&1
> make > make.log 2>&1
...
> F. make.log
> make[1]: Entering directory `/home/keithb/netcdf-3.4/src'
>
> Making `all' in directory /home/keithb/netcdf-3.4/src/libsrc
>
> make[2]: Entering directory `/home/keithb/netcdf-3.4/src/libsrc'
> cc -c -O -I. -DNDEBUG attr.c
The above compilation line indicates that the environment variable CC
was not set to "/usr/bin/cc"; otherwise, the line would, instead, have
been
/usr/bin/cc -c -O -I. -DNDEBUG attr.c
I suspect that you are not correctly setting the appropriate environment
variables prior to executing the configure script. In csh-like shells,
you have to do something like this:
setenv CC /usr/bin/cc
setenv CPPFLAGS -Df2cFortran
setenv CFLAGS -g
setenv FC /usr/bin/fort77
setenv FFLAGS "-g -Nx400 -w"
setenv CXX /usr/c++
./configure --prefix=/usr/local >&! configure.log
whereas, in standard UNIX shells (sh, ksh, bash) you should do something
like this:
CC=/usr/bin/cc CPPFLAGS=-Df2cFortran CFLAGS=-g FC=/usr/bin/fort77
FFLAGS="-g -Nx400 -w" CXX=/usr/c++ ./configure --prefix=/usr/local >
configure.log 2>&1
I.e. all the environment variables are set on the (single) command line.
This is what I use. An alternative for standard UNIX shells is to set
the environment variables separately like this:
export CC=/usr/bin/cc
export CPPFLAGS=-Df2cFortran
export CFLAGS=-g
export FC=/usr/bin/fort77
export FFLAGS="-g -Nx400 -w"
export CXX=/usr/c++
./configure --prefix=/usr/local > configure.log 2>&1
Note that some sh-like shells do not support the above form of the
"export" command. With such shells you would have to do this instead:
CC=/usr/bin/cc export CC
CPPFLAGS=-Df2cFortran export CPPFLAGS
CFLAGS=-g export CFLAGS
FC=/usr/bin/fort77 export FC
FFLAGS="-g -Nx400 -w" export FFLAGS
CXX=/usr/c++ export CXX
./configure --prefix=/usr/local > configure.log 2>&1
Please try the following:
1. Go to the top-level source directory.
2. Execute the command "make distclean".
3. Remove the file "config.cache" if it exists.
4. Set the environment variables as in the above examples.
5. Execute the configure script with the environment variables set
to their correct values. Redirect standard output and standard
error to the file "configure.log". If an error message occurs
in the output, then stop and send me the files "configure.log"
and "config.log".
6. Execute the command "make". Redirect standard output and
standard error to the file "make.log". If an error occurs,
then stop and send me the files "make.log" and "configure.log".
7. Execute the command "make test". Redirect standard output and
standard error to the file "test.log". If an error occurs,
then stop and send me the files "test.log" and "make.log".
8. Execute the command "make install". Redirect standard output
and standard error to the file "install.log". If an error
occurs, then stop and send me the file "install.log".
9. Execute the command "make clean".
--------
Steve Emmerson <http://www.unidata.ucar.edu>