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.
Juergen, > To: address@hidden > From: Juergen Rose <address@hidden> > Subject: configure for netcdf-3.5a fails > Organization: . > Keywords: 199812090935.CAA04426 In the above message, you wrote: > A. On my system "Linux tiger 2.1.130 #1 SMP Mon Dec 7 14:37:43 GMT+1 1998 > i686 unknown" configure fails with: > ... > checking user-defined Fortran compiler "g77"... works > checking for Fortran .F compiler... > checking if Fortran compiler handles *.F files... yes > 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"... no > checking if Fortran "byte" is C "short"... no > checking if Fortran "byte" is C "int"... no > checking if Fortran "byte" is C "long"... no > checking if Fortran "integer*2" is C "short"... no > checking if Fortran "integer*2" is C "int"... no > checking if Fortran "integer*2" is C "long"... no > checking if Fortran "integer" is C "int"... no > checking if Fortran "integer" is C "long"... no > checking if Fortran "real" is C "float"... no > checking if Fortran "real" is C "double"... no > checking if Fortran "doubleprecision" is C "double"... no > checking if Fortran "doubleprecision" is C "float"... no The above indicates that the configure script was unable to determine any Fortan/C equivalence types (e.g. a Fortran INTEGER is equivalent to a C "int"). This is very bad and means that the Fortran netCDF interface can't be built. I can't duplicate your problem on our Linux 2.0.36 system, so you are going to have to help me. Would you please do the following: 1. Go to the top-level source directory. 2. Edit the file "configure". Change the following: echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6 if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then ac_cv_c_cross=yes else cat > conftest.$ac_ext <<EOF #line 2327 "configure" #include "confdefs.h" main(){return(0);} EOF { (eval echo configure:2331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else ac_cv_c_cross=yes fi fi rm -fr conftest* fi echo "$ac_t""$ac_cv_c_cross" 1>&6 cross_compiling=$ac_cv_c_cross to (2 modifications marked by "<<<" echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6 if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then ac_cv_c_cross=yes else cat > conftest.$ac_ext <<EOF #line 2327 "configure" #include "confdefs.h" main(){return(0);} EOF { (eval echo configure:2331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else ac_cv_c_cross=yes fi fi #rm -fr conftest* # <<< "#" added fi echo "$ac_t""$ac_cv_c_cross" 1>&6 cross_compiling=$ac_cv_c_cross exit # <<< line added 3. Execute the command "make distclean". 4. Remove the file "config.cache" if it exists. 5. Set the following environment variables to the indicated values: VARIABLE VALUE -------- ----- CC /usr/bin/gcc CPPFLAGS -Df2cFortran CFLAGS -g FC /usr/bin/g77 FFLAGS -g -Wno-globals CXX /usr/bin/g++ 6. Excecute the configure script. Redirect standard output and standard error to the file "configure.log". 7. Send me the output from the following command: /usr/bin/gcc -o conftest -g -Df2cFortran conftest.c 8. Send me the following files: configure.log config.log conftest.c Please follow the above steps exactly. -------- Steve Emmerson <http://www.unidata.ucar.edu>