Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.

Problems compiling netCDF3

Hi,

I've tried to compile the netCDF3 distribution on a linux system:

I did the following steps:

- unpacking the archive
- configure 
- make
- make test

make test in directory nc_test occured an error:

Making `test' in directory /root/tmp/netcdf-3.1a/src/nc_test
make[2]: Entering directory `/root/tmp/netcdf-3.1a/src/nc_test'
cc -c  -I../libsrc   nc_test.c
cc -c  -I../libsrc   error.c
cc -c  -I../libsrc   test_get.c
cc -c  -I../libsrc   test_put.c
cc -c  -I../libsrc   test_read.c
cc -c  -I../libsrc   test_write.c
cc -c  -I../libsrc   util.c
cc -o nc_test  -I../libsrc    nc_test.o error.o test_get.o test_put.o 
test_read.o test_write.o util.o \
    ../libsrc/libnetcdf.a -lm
/nc_test -c
make[2]: *** [test.nc] Floating point exception
make[2]: *** Deleting file `test.nc'
make[2]: Leaving directory `/root/tmp/netcdf-3.1a/src/nc_test'
make[1]: *** [subdir_target] Error 1
make[1]: Leaving directory `/root/tmp/netcdf-3.1a/src'
make: *** [nc_test/test] Error 2


I tried to find out what the problem is. So I called make clean in the
nc_test directory and modified the Makefile adding the lines:
CC=gcc
CFLAGS= -g -Wall

result of make:
gcc -c -g -Wall -I../libsrc   nc_test.c
nc_test.c: In function `main':
nc_test.c:102: warning: implicit declaration of function `getopt'
nc_test.c:92: warning: unused variable `optopt'
nc_test.c:91: warning: unused variable `optind'
gcc -c -g -Wall -I../libsrc   error.c
gcc -c -g -Wall -I../libsrc   test_get.c
gcc -c -g -Wall -I../libsrc   test_put.c
gcc -c -g -Wall -I../libsrc   test_read.c
gcc -c -g -Wall -I../libsrc   test_write.c
gcc -c -g -Wall -I../libsrc   util.c
gcc -o nc_test -g -Wall -I../libsrc    nc_test.o error.o test_get.o test_put.o 
test_read.o test_write.o util.o \
    ../libsrc/libnetcdf.a -lm
ld: Output file requires shared library `libc.so.4'
gcc: Internal compiler error: program ld got fatal signal 6
make: *** [nc_test] Error 1


Strange, I've got the libc.so.4 library. So I made another try. Again I modified
the Makefile: LIBS= -lm -lc
Now everything was compiled correctly (except of the warnings which can
be cleared by adding #include <unistd.h> in tests.h).

But calling nc_test -c results to an 'Floating Exception'.
With the gdb I could figure out the source code line which occurs the error:
In util.c, line 563:
563                     err = nc_put_att_double(ncid, i, ATT_NAME(i,j),
2: j = 3
1: i = -1
(gdb) n
Program received signal SIGFPE, Arithmetic exception.
0x9391a in ncx_put_int_double ()
(gdb) 



Okay. Can somebody help me? Is the problem on my side or is there an error
in the netCDF3 distribution?

Thanks for any hints.

   Tim


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    ( o )            "Paddington on the Rocks"                                  
                     
   ()~*~()                                                                      
                      
    (_)-(_)          Tim Weilkiens, Kiel, Germany                               
                      
        /\              Tim.Weilkiens@xxxxxxxxxxxxxxx                           
                                                   
       /  \/\           tim-w@xxxxxxxxxxxxxxxxxxxxxxxxxxx                       
                         
  /\  /      \          http://oekoalpha.pz-oekosys.uni-kiel.de/~tim-w          
    

  • 1996 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: