[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[UDUNITS #QKV-165487]: udunits 1.12.4 bus error
- Subject: [UDUNITS #QKV-165487]: udunits 1.12.4 bus error
- Date: Thu, 08 May 2008 18:08:52 -0600
Yolande,
> I cannot find any FORTRAN documentation on #define that uses it in
> quite the way it is used in udunits.inc. The only way I've seen it
> used is for example,
>
> #define VAR 1
>
> to define VAR with a specific value. I'm wondering if this is just
> not standard FORTRAN?
C preprocessor directives like "#define VAR 1" are definitely not
standard Fortran: they are directives to the C preprocessor which
the Fortran compiler uses on it's input files before compiling them.
> I tried compiling the code with gfortran
> instead of g77 and got the same error:
>
> [cassava:~/code2/quikscatjpl] serra% gfortran -ffixed-line-length-132
> -I/sw/include -I/usr/local/hdf4/include qscat3_tropics.f
> read_qscat3_subprg.f handle_err.f get_time.f -L/usr/local/hdf4/lib -
> lmfhdf -ldf -L/sw/lib -lnetcdf -ludunits -ljpeg -lsz -lz -lm -o
> qscat3_tropics
> Warning: udunits.inc:25: Illegal preprocessor directive
> udunits.inc:33.6:
> Included at qscat3_tropics.f:7:
>
> UD_POINTER utmake
> 1
> Error: Unclassifiable statement at (1)
> [cassava:~/code2/quikscatjpl] serra%
>
> In this case gfortran also complains about line 25.
I suspect that the file "qscat3_tropics.f" uses directives like
include 'udunits.inc'
rather than directives like
#include "udunits.inc"
The former might be valid g77(1) but it is not standard Fortran
because there is no standard Fortran for including header-files.
The best that can be done is to use C preprocessor directives
instead of any Fortran "include" statements.
Try changing the directives to the C-form and see what happens.
Regards,
Steve Emmerson
Ticket Details
===================
Ticket ID: QKV-165487
Department: Support UDUNITS
Priority: Normal
Status: On Hold