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

20020930: installing netcdf 3.5 on linux using GCC 3.0.3



>From: Dominique Lucas <address@hidden>
>Organization: ECMWF
>Keywords: 200209301602.g8UG2U116760 netCDF 3.5 GCC 3.0.x

Dominique,

>We try to install netcdf 3.5 on our linux systems with the gnu compilers 
>at version 3.0.3. The configuration step falls over.

In looking through the files you attached, I _think_ that the problem
you are looking for guidance on is:

"warning: Could not find working C++ compiler"

If this is your problem (i.e., your problem does not relate to use of the
pgf90 compiler), the this is a known problem with a workaround:

netCDF HomePage
http://www.unidata.ucar.edu/packages/netcdf/

  Known problems with the current release (and workarounds)
  http://www.unidata.ucar.edu/packages/netcdf/known_problems.html

    Problem compiling C++ interface with gcc-3.0
    http://www.unidata.ucar.edu/packages/netcdf/known_problems.html#gcc-3.0
 
>Here is the environment I try it under.
>
>A. uname -a
>-----------
>Linux montague 2.4.10-4GB #1 Fri Sep 28 17:20:21 GMT 2001 i686 unknown
>
>B. VERSION
>----------
>3.5.1-beta
>
>C. macros.make
>--------------
>Attachment 1
>
>D. Compilers:
>-------------
>--> gcc -v
>Reading specs from 
>/usr/local/apps/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.0.3/specs
>Configured with: ./configure --prefix=/usr/local/apps/gnu.rel303
>Thread model: single
>gcc version 3.0.3
>--> g++ -v
>Reading specs from 
>/usr/local/apps/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.0.3/specs
>Configured with: ./configure --prefix=/usr/local/apps/gnu.rel303
>Thread model: single
>gcc version 3.0.3
>--> pgf90 -V
>
>pgf90 3.3-1
>
>E. configure.log
>----------------
Attachment 2
>
>F. config.log
>-------------
>Attachment 3.
>
>Would you have encountered this problem before? Any clues?

Yes, we have encountered problems with the C++ interface when using GCC
3.0.x under Linux.

>Thank you.

Please read through the web links above and see if this doesn't get you going.

>Best whishes,
>Dominique
>-- 
>==================================================
>Dominique Lucas     tel.   :      44 (118) 9499386
>                     fax    :      44 (118) 9869450
>                       mail to:    address@hidden
>User Support          mail to:  address@hidden
>European Centre for Medium-Range Weather Forecasts
>            http://www.ecmwf.int/
>==================================================
>
>--------------020409010905070209060900
>Content-Type: text/plain;
> name="macros.make"
>Content-Transfer-Encoding: 7bit
>Content-Disposition: inline;
> filename="macros.make"
>
># $Id: macros.make.in,v 1.32 2001/03/13 17:41:33 steve Exp $
>
># The purpose of this file is to contain common make(1) macros.
># It should be processed by every execution of that utility.
>
>
># POSIX shell.  Shouldn't be necessary -- but is under IRIX 5.3.
>SHELL          = /bin/sh
>
>
># Installation Directories:
>SRCDIR         = /scratch/us/usl/netcdf-3.5.1-beta/src
>prefix         = /scratch/us/usl/netcdf-3.5.1-beta
>exec_prefix    = $(prefix)
>INCDIR         = $(exec_prefix)/include
>LIBDIR         = $(exec_prefix)/lib
>BINDIR         = $(exec_prefix)/bin
>MANDIR         = $(prefix)/man
>
>
># Preprocessing:
>M4             = m4
>M4FLAGS                = -B10000
>CPP            = gcc -E
>CPPFLAGS       = $(INCLUDES) $(DEFINES) -DNDEBUG
>FPP            = 
>FPPFLAGS       = 
>CXXCPPFLAGS    = $(CPPFLAGS)
>
>
># Compilation:
>CC             = gcc
>CXX            = 
>FC             = pgf90
>F90            = pgf90
>CFLAGS         = -O
>CXXFLAGS       = 
>FFLAGS         = 
>F90FLAGS       = 
>NETCDF.MOD     = netcdf.mod
>CC_MAKEDEPEND  = false
>COMPILE.c      = $(CC) -c $(CFLAGS) $(CPPFLAGS)
>COMPILE.cxx    = $(CXX) -c $(CXXFLAGS) $(CXXCPPFLAGS)
>COMPILE.f      = $(FC) -c $(FFLAGS)
>COMPILE.F90    = $(F90) -c $(F90FLAGS)
># The following command isn't available on some systems; therefore, the
># `.F.o' rule is relatively complicated.
>COMPILE.F      = $(COMPILE.f) $(FPPFLAGS)
>
>
># Linking:
>MATHLIB                = -lm
>FLIBS          = 
>F90LIBS                = 
>LIBS           = 
>F90LDFLAGS     = $(LDFLAGS)
>LINK.c         = $(CC) -o $@ $(CFLAGS) $(LDFLAGS)
>LINK.cxx       = $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS)
>LINK.F         = $(FC) -o $@ $(FFLAGS) $(FLDFLAGS)
>LINK.f         = $(FC) -o $@ $(FFLAGS) $(FLDFLAGS)
>LINK.F90       = $(F90) -o $@ $(F90FLAGS) $(F90LDFLAGS)
>
>
># Manual pages:
>WHATIS         = whatis
># The following macro should be empty on systems that don't
># allow users to create their own manual-page indexes.
>MAKEWHATIS_CMD = 
>
>
># Misc. Utilities:
>AR             = ar
>ARFLAGS                = cru
>RANLIB         = ranlib
>TARFLAGS       = -chf
>
>
># Dummy macros: used only as placeholders to silence GNU make.  They are
># redefined, as necessary, in subdirectory makefiles.
>HEADER         = dummy_header
>HEADER1                = dummy_header1
>HEADER2                = dummy_header2
>HEADER3                = dummy_header3
>LIBRARY                = dummy_library.a
>MANUAL         = dummy_manual
>PROGRAM                = dummy_program
>
>
># Distribution macros:
>FTPDIR         = /home/ftp/pub/$(PACKAGE)
>FTPBINDIR      = /home/ftp/pub/binary/dummy_system
>VERSION                = dummy_version
>
>--------------020409010905070209060900
>Content-Type: text/plain;
> name="configure.log"
>Content-Transfer-Encoding: 7bit
>Content-Disposition: inline;
> filename="configure.log"
>
>creating cache ./config.cache
>checking for top-level source-directory
>/scratch/us/usl/netcdf-3.5.1-beta/src
>checking for m4 preprocessor
>checking for m4... m4
>checking m4 flags... -B10000
>checking C compiler "gcc"... works
>checking how to make dependencies... false
>checking for CC... no
>checking for cxx... no
>checking for c++... c++
>checking C++ compiler "c++"... configure: warning: c++ failed on test program
>checking for g++... g++
>checking C++ compiler "g++"... configure: warning: g++ failed on test program
>checking for gcc... gcc
>checking C++ compiler "gcc"... configure: warning: gcc failed on test program
>configure: warning: Could not find working C++ compiler
>configure: warning: Setting CXX to the empty string
>configure: warning: The C++ interface will not be built
>checking how to run the C preprocessor... gcc -E
>checking user-defined Fortran-77 compiler "pgf90"... works
>checking for Fortran .F compiler... 
>checking if Fortran-77 compiler handles *.F files... yes
>checking user-defined Fortran-90 compiler "pgf90"... works
>checking for nm utility
>checking for nm... nm
>checking nm flags... 
>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"... yes
>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"... yes
>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"... yes
>checking if Fortran "real" is C "float"... yes
>checking if Fortran "doubleprecision" is C "double"... yes
>checking for Fortran-equivalent to netCDF "byte"... byte
>checking for Fortran-equivalent to netCDF "short"... integer*2
>checking for math library
>checking for tanh in -lc... no
>checking for tanh in -lm... yes
>checking for ar utility
>checking for ar... ar
>checking ar flags... cru
>checking for nm utility
>checking for nm... (cached) nm
>checking nm flags... 
>checking for ranlib... ranlib
>checking for stdlib.h... yes
>checking for sys/types.h... yes
>checking for strerror... yes
>checking for working ftruncate()... yes
>checking for working alloca.h... yes
>checking for alloca... yes
>checking for st_blksize in struct stat... yes
>checking for IEEE floating point format... yes
>checking for ANSI C header files... yes
>checking for size_t... yes
>checking for off_t... yes
>checking for ssize_t... yes
>checking for ptrdiff_t... yes
>checking for uchar... no
>checking whether char is unsigned... no
>checking whether byte ordering is bigendian... no
>checking size of short... 2
>checking size of int... 4
>checking size of long... 4
>checking size of float... 4
>checking size of double... 8
>checking size of off_t... 4
>checking size of size_t... 4
>checking for manual-page index command... 
>checking binary distribution directory... /home/ftp/pub/binary/dummy_system
>updating cache ./config.cache
>creating ./config.status
>creating macros.make
>udcreating fortran/nfconfig.inc
>creating libsrc/ncconfig.h
>
>--------------020409010905070209060900
>Content-Type: text/plain;
> name="config.log"
>Content-Transfer-Encoding: 7bit
>Content-Disposition: inline;
> filename="config.log"
>
>This file contains any messages produced by compilers while
>running configure, to aid debugging if configure makes a mistake.
>
>configure:928: checking for top-level source-directory
>configure:938: checking for m4 preprocessor
>configure:945: checking for m4
>configure:1012: checking m4 flags
>configure:1085: checking C compiler "gcc"
>configure:1094: gcc -c -O -DNDEBUG conftest.c 1>&5
>configure:1121: checking how to make dependencies
>configure:1189: checking for CC
>configure:1189: checking for cxx
>configure:1189: checking for c++
>configure:1225: checking C++ compiler "c++"
>configure:1243: c++ -o conftest  -DNDEBUG  conftest.C  1>&5
>In file included from /usr/local/apps/gnu/include/g++-v3/bits/std_cstdlib.h:41
> ,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/stl_algobase.h:7
> 3,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_memory.h:49,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_string.h:43,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/localefwd.h:42,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_ios.h:43,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_ostream.h:39
> ,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_iostream.h:4
> 0,
>                 from /usr/local/apps/gnu/include/g++-v3/backward/iostream.h:3
> 2,
>                 from configure:1235:
>/usr/include/stdlib.h:577: declaration of `void exit(int) throw ()' throws 
>   different exceptions
>configure:1232: than previous declaration `void exit(int)'
>configure: failed program was:
>#line 1230 "configure"
>#include "confdefs.h"
>#ifdef __cplusplus
>extern "C" void exit(int);
>#endif
>
>                               #include <iostream.h>
>                               int main() {
>                                   cout << "";
>                                   return 0;
>                               }
>                           
>configure:1189: checking for g++
>configure:1225: checking C++ compiler "g++"
>configure:1243: g++ -o conftest  -DNDEBUG  conftest.C  1>&5
>In file included from /usr/local/apps/gnu/include/g++-v3/bits/std_cstdlib.h:41
> ,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/stl_algobase.h:7
> 3,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_memory.h:49,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_string.h:43,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/localefwd.h:42,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_ios.h:43,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_ostream.h:39
> ,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_iostream.h:4
> 0,
>                 from /usr/local/apps/gnu/include/g++-v3/backward/iostream.h:3
> 2,
>                 from configure:1235:
>/usr/include/stdlib.h:577: declaration of `void exit(int) throw ()' throws 
>   different exceptions
>configure:1232: than previous declaration `void exit(int)'
>configure: failed program was:
>#line 1230 "configure"
>#include "confdefs.h"
>#ifdef __cplusplus
>extern "C" void exit(int);
>#endif
>
>                               #include <iostream.h>
>                               int main() {
>                                   cout << "";
>                                   return 0;
>                               }
>                           
>configure:1189: checking for gcc
>configure:1225: checking C++ compiler "gcc"
>configure:1243: gcc -o conftest  -DNDEBUG  conftest.C  1>&5
>In file included from /usr/local/apps/gnu/include/g++-v3/bits/std_cstdlib.h:41
> ,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/stl_algobase.h:7
> 3,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_memory.h:49,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_string.h:43,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/localefwd.h:42,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_ios.h:43,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_ostream.h:39
> ,
>                 from /usr/local/apps/gnu/include/g++-v3/bits/std_iostream.h:4
> 0,
>                 from /usr/local/apps/gnu/include/g++-v3/backward/iostream.h:3
> 2,
>                 from configure:1235:
>/usr/include/stdlib.h:577: declaration of `void exit(int) throw ()' throws 
>   different exceptions
>configure:1232: than previous declaration `void exit(int)'
>configure: failed program was:
>#line 1230 "configure"
>#include "confdefs.h"
>#ifdef __cplusplus
>extern "C" void exit(int);
>#endif
>
>                               #include <iostream.h>
>                               int main() {
>                                   cout << "";
>                                   return 0;
>                               }
>                           
>configure:1294: checking how to run the C preprocessor
>configure:1315: gcc -E -DNDEBUG conftest.c >/dev/null 2>conftest.out
>configure:1383: checking user-defined Fortran-77 compiler "pgf90"
>configure:1389: pgf90 -c  conftest.f
>configure:1548: checking for Fortran .F compiler
>configure:1558: checking if Fortran-77 compiler handles *.F files
>configure:1569: pgf90 -o conftest  conftest.F 
>configure:1608: checking user-defined Fortran-90 compiler "pgf90"
>configure:1615: pgf90 -c  conftest.f90
>configure:1751: checking for nm utility
>configure:1758: checking for nm
>configure:1825: checking nm flags
>configure:1841: checking for C-equivalent to Fortran routine "SUB"
>configure:1847: pgf90 -c  conftest.f
>configure:1876: checking for Fortran "byte"
>configure:1883: pgf90 -c  conftest.f
>configure:1900: checking for Fortran "integer*2"
>configure:1907: pgf90 -c  conftest.f
>configure:1933: checking if Fortran "byte" is C "signed char"
>configure:1942: gcc -c -DNDEBUG -O conftest.c
>configure:1944: pgf90  -c conftestf.f
>configure:1946: pgf90 -o conftest   conftestf.o conftest.o  
>configure:1948: ./conftest
>configure:1981: checking if Fortran "byte" is C "short"
>configure:1990: gcc -c -DNDEBUG -O conftest.c
>configure:1992: pgf90  -c conftestf.f
>configure:1994: pgf90 -o conftest   conftestf.o conftest.o  
>configure:1996: ./conftest
>configure:2029: checking if Fortran "byte" is C "int"
>configure:2038: gcc -c -DNDEBUG -O conftest.c
>configure:2040: pgf90  -c conftestf.f
>configure:2042: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2044: ./conftest
>configure:2077: checking if Fortran "byte" is C "long"
>configure:2086: gcc -c -DNDEBUG -O conftest.c
>configure:2088: pgf90  -c conftestf.f
>configure:2090: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2092: ./conftest
>configure:2129: checking if Fortran "integer*2" is C "short"
>configure:2138: gcc -c -DNDEBUG -O conftest.c
>configure:2140: pgf90  -c conftestf.f
>configure:2142: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2144: ./conftest
>configure:2177: checking if Fortran "integer*2" is C "int"
>configure:2186: gcc -c -DNDEBUG -O conftest.c
>configure:2188: pgf90  -c conftestf.f
>configure:2190: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2192: ./conftest
>configure:2225: checking if Fortran "integer*2" is C "long"
>configure:2234: gcc -c -DNDEBUG -O conftest.c
>configure:2236: pgf90  -c conftestf.f
>configure:2238: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2240: ./conftest
>configure:2275: checking if Fortran "integer" is C "int"
>configure:2284: gcc -c -DNDEBUG -O conftest.c
>configure:2286: pgf90  -c conftestf.f
>configure:2288: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2290: ./conftest
>configure:2323: checking if Fortran "real" is C "float"
>configure:2332: gcc -c -DNDEBUG -O conftest.c
>configure:2334: pgf90  -c conftestf.f
>configure:2336: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2338: ./conftest
>configure:2371: checking if Fortran "doubleprecision" is C "double"
>configure:2380: gcc -c -DNDEBUG -O conftest.c
>configure:2382: pgf90  -c conftestf.f
>configure:2384: pgf90 -o conftest   conftestf.o conftest.o  
>configure:2386: ./conftest
>configure:2413: checking for Fortran-equivalent to netCDF "byte"
>configure:2420: pgf90 -c  conftest.f
>configure:2435: checking for Fortran-equivalent to netCDF "short"
>configure:2442: pgf90 -c  conftest.f
>configure:2462: checking for math library
>configure:2466: checking for tanh in -lc
>configure:2485: gcc -o conftest -O -DNDEBUG  conftest.c -lc   1>&5
>/var/tmp/tmpdir/usl/jtmp.16818/ccAveTLq.o: In function `main':
>/var/tmp/tmpdir/usl/jtmp.16818/ccAveTLq.o(.text+0xa): undefined reference to `
> tanh'
>collect2: ld returned 1 exit status
>configure: failed program was:
>#line 2474 "configure"
>#include "confdefs.h"
>/* Override any gcc2 internal prototype to avoid an error.  */
>/* We use char because int might match the return type of a gcc2
>    builtin and then its argument prototype would still apply.  */
>char tanh();
>
>int main() {
>tanh()
>; return 0; }
>configure:2504: checking for tanh in -lm
>configure:2523: gcc -o conftest -O -DNDEBUG  conftest.c -lm   1>&5
>configure:2555: checking for ar utility
>configure:2562: checking for ar
>configure:2629: checking ar flags
>configure:2638: checking for nm utility
>configure:2680: checking for nm
>configure:2712: checking nm flags
>configure:2722: checking for ranlib
>configure:2751: checking for stdlib.h
>configure:2761: gcc -E -DNDEBUG conftest.c >/dev/null 2>conftest.out
>configure:2788: checking for sys/types.h
>configure:2798: gcc -E -DNDEBUG conftest.c >/dev/null 2>conftest.out
>configure:2824: checking for strerror
>configure:2852: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:2877: checking for working ftruncate()
>configure:2930: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>/var/tmp/tmpdir/usl/jtmp.16818/ccSjeupG.o: In function `main':
>/var/tmp/tmpdir/usl/jtmp.16818/ccSjeupG.o(.text+0x15): the use of `tmpnam' is 
> dangerous, better use `mkstemp'
>configure:2952: checking for working alloca.h
>configure:2964: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:2985: checking for alloca
>configure:3018: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3184: checking for st_blksize in struct stat
>configure:3197: gcc -c -O -DNDEBUG conftest.c 1>&5
>configure:3219: checking for IEEE floating point format
>configure:3257: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3278: checking for ANSI C header files
>configure:3291: gcc -E -DNDEBUG conftest.c >/dev/null 2>conftest.out
>configure:3358: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3382: checking for size_t
>configure:3415: checking for off_t
>configure:3448: checking for ssize_t
>configure:3481: checking for ptrdiff_t
>configure:3514: checking for uchar
>configure:3547: checking whether char is unsigned
>configure:3610: checking whether byte ordering is bigendian
>configure:3628: gcc -c -O -DNDEBUG conftest.c 1>&5
>configure:3643: gcc -c -O -DNDEBUG conftest.c 1>&5
>configure: In function `main':
>configure:3638: `not' undeclared (first use in this function)
>configure:3638: (Each undeclared identifier is reported only once
>configure:3638: for each function it appears in.)
>configure:3638: parse error before "big"
>configure: failed program was:
>#line 3632 "configure"
>#include "confdefs.h"
>#include <sys/types.h>
>#include <sys/param.h>
>int main() {
>
>#if BYTE_ORDER != BIG_ENDIAN
> not big endian
>#endif
>; return 0; }
>configure:3700: checking size of short
>configure:3719: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3739: checking size of int
>configure:3758: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3778: checking size of long
>configure:3797: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3817: checking size of float
>configure:3836: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3856: checking size of double
>configure:3875: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3895: checking size of off_t
>configure:3918: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:3938: checking size of size_t
>configure:3961: gcc -o conftest -O -DNDEBUG  conftest.c  1>&5
>configure:4062: checking for manual-page index command
>configure:4066: checking binary distribution directory
>
>--------------020409010905070209060900--

Cheers,

Tom Yoksas