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

20040815: NetCDF installation problem



Vladimir,

>Date: Sun, 15 Aug 2004 08:52:30 +0200
>From: "Vladimir Meerson" <address@hidden>
>Organization: Israel Meteorological Service
>To: "Steve Emmerson" <address@hidden>
>Subject: Re: 20040811: NetCDF installation problem 
> Keywords: 200408111149.i7BBnPaW019090 netCDF IRIX

The above message contained the following:

> Thank you for your mail.
> I've contacted with SGI Israel about the compilation  error;  this is the
> answer
> 
> --- Hello Vladimir,
> --- I've checked the application you send me , and try to compile the attr.c
> --- file as you tried.
> --- 
> --- The error you getting :
> --- cc-1084 cc: ERROR File =
> --- /usr/include/internal/stddef_core.h, Line = 39
> ---   The indicated declaration has an invalid
> --- combination of type specifiers.
> ---   typedef __int64_t     ptrdiff_t;
> --- Indicate that there is some problem with the define types.
> --- 
> --- IRIX of SGI defines ptrdiff_t, size_t and ssize_t in header files
> --- /usr/include/stddef.h, types.h already.
> --- In the sources you send me , those types are re-define in ncconfig.h .
> --- This causing all those errors.
> --- 
> --- I commented off these lines: ( in ncconfig.h file )
> --- //#define ssize_t int
> --- //#define ptrdiff_t int
> --- 
> --- And now the compilation of the file attr.c is completing well.
> --- 
> --- ( Although this code is not yours , I think you can do this change , as
> I
> --- saw in SGI Databases that others got the same problem already , and
> solved
> --- it in the same way)
> --- 
> --- Let me know if you have any further issues , or I can close this case.
> --- B.t.w - I saw that you are compiling without the proper license. Please
> take
> --- care of it.
> --- 
> --- Regards,
> --- Efrat Ben-Ami
> --- Software System Engineer ,SGI Israel.

In general, we prefer that the netCDF package not be modfield in order
to build it because that increases the difficulty of diagnosing problems
and helping users.

There's something wrong with or incomplete about the explanation from
SGI Israel because the configure(1) script determined that the symbols
"ssize_t" and "ptrdiff_t" were undefined:

> checking for ssize_t... no
> checking for ptrdiff_t... no

Before that, however, the configure(1) script determined that the
compilation environment did not have Standard C header-files:

> checking for ANSI C header files... no

This determination might have caused the configure(1) script to miss the
"ssize_t" and "ptrdiff_t" definitions.

Because a misdetermination by the configure(1) script can cause many
subsequent problems with building the package and using it, I'd like to
determine the root cause of the problem before continuing.

Would you please do the following:

    1.  Go to the top-level source directory.

    2.  Edit the configure(1) script:

            a.  Locate the string "checking for ssize_t"  (line 3827?)

            b.  Comment-out the three following rm(1)s of "conftest*"
                (lines 3843, 3846, and 3849?)

            c.  Add the command "exit" just before the next block of
                code that checks for "ptrdiff_t" (line 3860?).

    3.  Execute the command "make distclean".

    4.  Execute the configure(1) script.

    5.  If the output indicates that the symbol "ssize_t" wasn't found,
        then

            a.  Replace "STDC_HEADERS" in file "conftest.c" with a 1.

            b.  Manually rebuild "conftest.c" using the command near the
                end of file "config.log".

            c.  Manually execute conftest.c to see if "ssize_t" is
                found.

            d.  If "ssize_t" is found, then the macro STDC_HEADERS
                should have been set to 1 by the configure(1) script
                rather than to 0.  In this case, the erlier
                determination in the configure(1) script (line 3657?)
                is incorrect and we need to discover why.  This can be
                done by something similar to steps 2 through 4 above.

    6.  Let me know what you discover.

Regards,
Steve Emmerson