[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

971111: installing NetCDF 3.3.1 under Linux using fort77(1)



Alec,

>Date: Mon, 10 Nov 1997 12:00:14 +0200 (SAT) 
>From: Alec Joubert <address@hidden>
>Organization: University of the Witwatersrand/Climatology Research Group
>To: Steve Emmerson <address@hidden>
>Subject: ongoing installation - success? 
>Keywords: 199711051121.EAA12731

In the above message, you wrote:

> Steve, hi there
> 
> I went away to the mountains, and the South African cricket team won it's
> quadrangular tournament in Pakistan. So yes, I had a good weekend. Hope
> you did too!

Thanks, but I was in bed all weekend with a sinus infection.  :-(
> 
> I seem to have succeeded with the netcdf installation, but am still having
> some hassles. In particlar, I want to ask you about a vast number of
> warning messages in the output of the "make test" command - test.log
> attached. The command did not fail, and the "make install" seemed to
> happen OK as well, but on compilation of a piece of my own fortran code,
> the same warning messages appear en masse, and the compilation fails.
> 
> The reason for the more successful morning seems to be the fact that I
> installed a Redhat-linux rpms-version of fort77 (all details  below). Are the 
> warning messages a serious problem or can they be easily rectified with
> e.g. a different compilation option?

> 
> Environment settings:
> 
> uname-a:
> Linux crg 2.0.28 #6 Thu Feb 6 18:01:34 SAT 1997 i686
> Redhat Linux Version 4.0 (Colgate)
> 
> CPPFLAGS='-DNDEBUG -Df2cFortran' 
> CC=/usr/bin/cc 
> CFLAGS=-O
> FC=/usr/bin/fort77 ! fort77 Version 1.14a 
> FFLAGS=-O
> CXX=/usr/bin/c++
> 
> Thanks again for all the help
> 
> Alec
> 
> -------------------------------------------------------------------------------
> Dr Alec Joubert                   
> Climatology Research Group         Tel:   +27 11 716 2998
> University of the Witwatersrand    Fax    +27 11 716 3161
> P.O. Wits 2050                     Email: address@hidden    
> SOUTH AFRICA                       WWW:   http://crg.bpb.wits.ac.za
> -------------------------------------------------------------------------------

The numerous warning messages you're getting are like the following:

    Warning on line 112: nf_put_varm_int declared EXTERNAL but never used.
    Warning on line 112: nf_inq_varnatts declared EXTERNAL but never used.
    Warning on line 112: nf_get_var1_real declared EXTERNAL but never used.
    Warning on line 112: nf_put_vars_int declared EXTERNAL but never used.
    Warning on line 112: nf_get_vara_int1 declared EXTERNAL but never used.
    Warning on line 112: nf_put_att_text declared EXTERNAL but never used.
    Warning on line 112: nf_put_var_text declared EXTERNAL but never used.
    Warning on line 112: nf_redef declared EXTERNAL but never used.
    Warning on line 112: nf_get_vara_int2 declared EXTERNAL but never used.
    Warning on line 112: nf_get_varm_int1 declared EXTERNAL but never used.

These warnings are emitted because of the EXTERNAL declarations of the
netCDF Fortran routines in the include-file "netcdf.inc".  There is no
good solution to this problem: either the include-file doesn't declare
the routines and it's up to the user to declare every netCDf routine
that they use or the include-file does declare the routines and the user
gets a bunch of warnings.

The best solution when using fort77(1) on a Linux system is to ensure
that the fort77(1) compiler sees the option "-Nx400" (this is
documented in the INSTALL file).  This allows "netcdf.inc" to contain
many EXTERNAL statements.

I suggest 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 following environment variables:

        CPPFLAGS='-DNDEBUG -Df2cFortran' 
        CC=/usr/bin/cc 
        CFLAGS=-O
        FC=/usr/bin/fort77 ! fort77 Version 1.14a 
        FFLAGS='-O -Nx400 -w'           # Note the additional options
        CXX=/usr/bin/c++

    5.  Execute the configure script.
        Redirect standard output and standard error to a file.
        If an error occurs, then stop and send me the file.

    6.  Execute the command "make".
        Redirect standard output and standard error to a file.
        If an error occurs, then stop and send me the file.

    7.  Execute the command "make test".
        Redirect standard output and standard error to a file.
        If an error occurs, then stop and send me the file.

    8.  Execute the command "make install".
        Redirect standard output and standard error to a file.
        If an error occurs, then stop and send me the file.

    9.  Execute the command "make clean".

Please let me know if this helps.

--------
Steve Emmerson   <http://www.unidata.ucar.edu>