(1) Compilers: OSF C, Absoft FORTRAN 3.2 (beta)
(2) NeXTDimension Turbo Cube
(3) Craig A. Mattocks
RSMAS-MPO, U of Miami
4600 Rickenbacker Cswy.
Miami, Florida 33149
Phone : (305) 361-4043 or 4038
Fax : (305) 361-4622
Internet e-mail : mattocks@xxxxxxxxxxxxxxxxxxx
Internet NeXTmail: mattocks@xxxxxxxxxxxxxxxxxxxxxx
(4) Latest attempt to build NetCDF on a NeXT:
I've made some good progress on getting NetCDF to run on a
NeXT workstation under NeXTSTEP 3.0 - everything's working
except the fortran interface. Here's what I see during the
fortran tests:
./ftest
--- Testing nccre ...
--- Testing ncddef ...
ncdimdef: dimension "(null pointer)" in use with index 0
ncdimdef: dimension "(null pointer)" in use with index 0
ncdimdef: dimension "(null pointer)" in use with index 0
ncdimdef: dimension "(null pointer)" in use with index 0
--- Testing ncvdef ...
*** Segmentation fault
Stop.
*** Exit 1
Any ideas on what I should do next?
Fanx!
Craig
PS For your future reference:
-------------------------------------------------------------
Modifications required to build NetCDF on a NeXT under NS 3.0
-------------------------------------------------------------
(1) Set:
FC = f77
FOPTS = -f -h8 -N9 -N34 -N40 -N50 -O -s -w -Z
LIBTYPE = nonsharable
OS = next_3.0
XDR_INC = /usr/include/bsd/rpc
in the Makefile.
(2) Create a "/usr/include/bsd/sys/unistd.h" from a Sun version.
(3) Include the following line in /usr/include/bsd/sys/types.h:
typedef int pid_t; /* process id */
(4) Create fortran/next0.inc and fortran/next.m4 files from
their Sun counterparts.
(5) In src/netcdf.h and fortran/nextos.inc, change the line:
#define XDR_D_INFINITY 1.797693134862315900e+308
to:
#define XDR_D_INFINITY 1.797693134862315700e+308
as per /usr/include/ansi/m68k/float.h (only the one digit 9 --> 7)
(6) In src/local_nc.h, comment the section:
/*
* Currently there are situations where one has a compiler which
* defines __STDC__ but the system doesn't have conforming libs
* or include files - gcc or saber c on a sun or ultrix or vanilla unix
* or scc on a Cray.
* Sigh.
*/
/* Comment-out the following 6 lines like this: */
/* #if defined(sun) || defined(cray) */
/* #undef STDC_ARGS */
/* #undef STDC_STRERROR */
/* #undef STDC_REMOVE */
/* #undef STDC_INCLUDES */
/* #endif */
(7) In the file ncdump/vardata.c change the line:
extern char *malloc();
to:
extern void *malloc(size_t size);
(8) Make the following soft links:
ln -s /usr/include/ansi/ctype.h /usr/include/ctype.h
ln -s /usr/include/ansi/stdio.h /usr/include/stdio.h
ln -s /usr/include/ansi/string.h /usr/include/string.h
ln -s /usr/include/ansi/stdarg.h /usr/include/stdarg.h
ln -s /usr/include/bsd/varargs.h /usr/include/varargs.h
ln -s /usr/include/bsd/sys/unistd.h /usr/include/unistd.h