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

Re: 19990514: Red Hat Linux configure failure: sysv_signal



Graham,

[Does "bnl" stand for "Brookhaven National Laboratory"?]

> To: address@hidden
> From: Graham Campbell <address@hidden>
> Subject: netcdf configure failure on Red Hat Linux
> Organization: .
> Organization: Brookhaven National Laboratory?
> Keywords: 199905141452.IAA19894

In the above message, you wrote:

> The configure script fails looking for sysv_signal. See following:
> 
> 1) Script output
> Script started on Fri May 14 10:39:22 1999
> 
> bash$     CC=/usr/bin/cc              # actually gcc version 2.7.2.3
> bash$     CPPFLAGS="-DNDEBUG -Df2cFortran"    # "-Df2cFortran" is necessary if
> bash$                                         # the Fortran "compiler" is 
> fort77(1).
> bash$     CFLAGS=-O
> bash$     FC=/usr/bin/fort77          # actually an f2c(1)-using script.
> bash$                                 # Suuprt email archive contains report 
> that
> bash$                                 # /usr/bin/g77 (version 0.5.21) also 
> works.
> bash$     FFLAGS="-O -Nx400 -w"       # "-Nx400" allows fortran/netcdf.inc to
> bash$                                 # have many EXTERNAL statements
> bash$     CXX=/usr/bin/c++            # actually gcc version 2.7.2.3

If the above is what you entered in order to set the environment
variables prior to executing the configure script, then the environment
variables won't be set because the above sets *shell* variables -- but
not *environment* variables. In order to set environment variables, you
must do one of the following in the "bash" shell:

    1.  Use the "export" command, e.g.

            bash$ CC=/usr/bin/cc
            bash$ export CC

        or

            bash$ export CC=/usr/bin/cc

    2.  Temporarily set environment variables for a command by assigning
        them in the command-line, e.g.

            bash$ CC=/usr/bin/cc ... ./configure &>configure.log

...

> bash$ ./confi igure > configure.log 2>&1
> bash$ tail configure.log
> checking C++ compiler "c++"... works
> checking how to run the C preprocessor... cc -E
> checking for f77... f77

The configure script set the Fortran compiler to "f77" rather than
"/usr/bin/fort77" as you requested via the FC" variable. This is
consistent with the FC environment variable not being set.

Since your problem lies with Fortran side of the package:

> checking for Fortran .F compiler... 
> checking if Fortran compiler handles *.F files... no
> checking for Fortran preprocessor... cc -E
> checking for C-equivalent to Fortran routine "SUB"... sub_
> checking for Fortran "byte"... yes
> checking for Fortran "integer*2"... yes
> checking if Fortran "byte" is C "signed char"... configure: error: Could not 
> link conftestf.o and conftest.o

it could be that the setting of environment variables lies at the root
of your problem.

I suggest trying the following:

    1.  Perform steps 2 through 4 near the end of the INSTALL file.

    2.  Set your environment variables as follows (assuming you still use
        the "bash" shell):

            bash$ export CC=/usr/bin/cc
            bash$ export CPPFLAGS="-DNDEBUG -Df2cFortran"
            bash$ export CFLAGS=-O
            bash$ export FC=/usr/bin/fort77
            bash$ export FFLAGS="-O -Nx400 -w"
            bash$ export CXX=/usr/bin/c++

    3.  Perform steps 6 through 9 near the end of the INSTALL file.

Please let me know if this helps.

...

> Please reply to address@hidden I have no idea what the From address on
> this message will be.

It was <address@hidden>.

> Graham Campbell
> address@hidden

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