Thread: configure warnings

configure warnings

From
"Peter Kovacs"
Date:
Hi,

On a

bash-3.00# uname -a
HP-UX apollo B.11.23 U ia64 1874023332 unlimited-user license

I got the following warnings:


checking sys/ipc.h presence... yes
configure: WARNING: sys/ipc.h: present but cannot be compiled
configure: WARNING: sys/ipc.h:     check for missing prerequisite headers?
configure: WARNING: sys/ipc.h: see the Autoconf documentation
configure: WARNING: sys/ipc.h:     section "Present But Cannot Be Compiled"
configure: WARNING: sys/ipc.h: proceeding with the preprocessor's result
configure: WARNING: sys/ipc.h: in the future, the compiler will take precedence
configure: WARNING:     ## ---------------------------------------- ##
configure: WARNING:     ## Report this to pgsql-bugs@postgresql.org ##
configure: WARNING:     ## ---------------------------------------- ##

configure: WARNING: sys/sem.h: present but cannot be compiled
configure: WARNING: sys/sem.h:     check for missing prerequisite headers?
configure: WARNING: sys/sem.h: see the Autoconf documentation
configure: WARNING: sys/sem.h:     section "Present But Cannot Be Compiled"
configure: WARNING: sys/sem.h: proceeding with the preprocessor's result
configure: WARNING: sys/sem.h: in the future, the compiler will take precedence
configure: WARNING:     ## ---------------------------------------- ##
configure: WARNING:     ## Report this to pgsql-bugs@postgresql.org ##
configure: WARNING:     ## ---------------------------------------- ##

configure: WARNING: sys/shm.h: present but cannot be compiled
configure: WARNING: sys/shm.h:     check for missing prerequisite headers?
configure: WARNING: sys/shm.h: see the Autoconf documentation
configure: WARNING: sys/shm.h:     section "Present But Cannot Be Compiled"
configure: WARNING: sys/shm.h: proceeding with the preprocessor's result
configure: WARNING: sys/shm.h: in the future, the compiler will take precedence
configure: WARNING:     ## ---------------------------------------- ##
configure: WARNING:     ## Report this to pgsql-bugs@postgresql.org ##
configure: WARNING:     ## ---------------------------------------- ##

Thanks
Peter

Re: configure warnings

From
Tom Lane
Date:
"Peter Kovacs" <peter.kovacs.1.0rc@gmail.com> writes:
> bash-3.00# uname -a
> HP-UX apollo B.11.23 U ia64 1874023332 unlimited-user license

> I got the following warnings:

> checking sys/ipc.h presence... yes
> configure: WARNING: sys/ipc.h: present but cannot be compiled

Which compiler are you using?  If gcc, is it up-to-date?  The main cause
I've seen of these types of warnings on HP-UX is using a gcc that was
originally built on an older HP-UX version and has obsolete copies of
system header files embedded in it.  HP themselves seem to lack a clue
or three in this department, as the gcc currently installed on their
TestDrive machines fails exactly this way.

For reference, the way to check this out is to look at "gcc -v" output
to see where its private files are, for instance it'll say something like
Reading specs from /usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/specs
Then you look under
/usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/include
and compare the files there to the equivalent files in /usr/include.
The proximate cause of the immediate problem on the TestDrive
machine is found by comparing
diff /usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/include/sys/types.h /usr/include/sys/types.h
which shows that gcc's version is lacking a definition for cid_t,
which is the exact problem complained of when you look into our
config.log to find out *why* sys/ipc.h doesn't compile.

Or, to make a long story short:

$ cat test.c
#include <sys/types.h>
#include <sys/ipc.h>
$ gcc test.c
In file included from test.c:2:
/usr/include/sys/ipc.h:51: error: parse error before "cid_t"
/usr/include/sys/ipc.h:56: error: parse error before '}' token
$

Feel free to try to get HP's attention about this; not being a paying
customer any more, I don't seem to have any useful contacts.  In the
meantime, use their cc, or build gcc for yourself so it's up to date.

            regards, tom lane

Re: configure warnings

From
"Peter Kovacs"
Date:
Thank you, Tom, for you help.

The short gcc test you described gives the result you predicted.

I have just completed a successful compilation with cc. Still, cc gave a lot of

(Bundled) cc: warning 922: "-Ae" is unsupported in the bundled
compiler, ignored.
(Bundled) cc: warning 922: "+O2" is unsupported in the bundled
compiler, ignored.

warnings. I am not sure how much impact this will have on performance
(or on anything else). I plan to use this postgres installation for
automated unit testing of db applications. So performance is not of
paramount importance, but I obviously don't want the db to be a
complete lame either. (We're kind of following the agile development
model, so the test cycles need to be fast in order for the tests to
reflect the current status of the tested code base as closely as
possible.)

Do you think I would be better off compiling gcc? I've never compiled
gcc before and I am not sure what all it involves. If its complexity
is comparable to upgrading the c library on Linux machine, then I
guess I'd rather stay away from it :-) . Actually, I could probably
get a full-featured cc from HP, but that would not be hassle-free
either -- and I expect it would take more time than I currently have
for setting this up.

Thanks again for help.

Peter

On Feb 16, 2008 4:55 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Peter Kovacs" <peter.kovacs.1.0rc@gmail.com> writes:
> > bash-3.00# uname -a
> > HP-UX apollo B.11.23 U ia64 1874023332 unlimited-user license
>
> > I got the following warnings:
>
> > checking sys/ipc.h presence... yes
> > configure: WARNING: sys/ipc.h: present but cannot be compiled
>
> Which compiler are you using?  If gcc, is it up-to-date?  The main cause
> I've seen of these types of warnings on HP-UX is using a gcc that was
> originally built on an older HP-UX version and has obsolete copies of
> system header files embedded in it.  HP themselves seem to lack a clue
> or three in this department, as the gcc currently installed on their
> TestDrive machines fails exactly this way.
>
> For reference, the way to check this out is to look at "gcc -v" output
> to see where its private files are, for instance it'll say something like
> Reading specs from /usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/specs
> Then you look under
> /usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/include
> and compare the files there to the equivalent files in /usr/include.
> The proximate cause of the immediate problem on the TestDrive
> machine is found by comparing
> diff /usr/local/lib/gcc/ia64-hp-hpux11.23/3.4.3/include/sys/types.h /usr/include/sys/types.h
> which shows that gcc's version is lacking a definition for cid_t,
> which is the exact problem complained of when you look into our
> config.log to find out *why* sys/ipc.h doesn't compile.
>
> Or, to make a long story short:
>
> $ cat test.c
> #include <sys/types.h>
> #include <sys/ipc.h>
> $ gcc test.c
> In file included from test.c:2:
> /usr/include/sys/ipc.h:51: error: parse error before "cid_t"
> /usr/include/sys/ipc.h:56: error: parse error before '}' token
> $
>
> Feel free to try to get HP's attention about this; not being a paying
> customer any more, I don't seem to have any useful contacts.  In the
> meantime, use their cc, or build gcc for yourself so it's up to date.
>
>                         regards, tom lane
>

Re: configure warnings

From
Tom Lane
Date:
"Peter Kovacs" <peter.kovacs.1.0rc@gmail.com> writes:
> I have just completed a successful compilation with cc. Still, cc gave a lot of

> (Bundled) cc: warning 922: "-Ae" is unsupported in the bundled
> compiler, ignored.
> (Bundled) cc: warning 922: "+O2" is unsupported in the bundled
> compiler, ignored.

Um.  You don't have their "real" cc then, just the brain-dead
non-optimizing one.  IMHO that's only fit for bootstrapping gcc ;-).
However, my experiences with it were on PA-RISC, which really
desperately needs an optimizing compiler to perform decently.
I don't know what the hit would be like on IA64.

You could try manually repairing gcc's copy of sys/types.h by adding
the stuff it's missing compared to /usr/include.  I'm not sure how
many other discrepancies there are and which if any might be critical.

            regards, tom lane

Re: configure warnings

From
"Peter Kovacs"
Date:
The gcc 4.2.2 binaries for a number of HP-UX platforms can be
downloaded from here: http://hpux.cs.utah.edu/

And that does the job.

Thanks for pointing to the right direction.
Peter



On Feb 16, 2008 2:49 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Peter Kovacs" <peter.kovacs.1.0rc@gmail.com> writes:
> > I have just completed a successful compilation with cc. Still, cc gave a lot of
>
> > (Bundled) cc: warning 922: "-Ae" is unsupported in the bundled
> > compiler, ignored.
> > (Bundled) cc: warning 922: "+O2" is unsupported in the bundled
> > compiler, ignored.
>
> Um.  You don't have their "real" cc then, just the brain-dead
> non-optimizing one.  IMHO that's only fit for bootstrapping gcc ;-).
> However, my experiences with it were on PA-RISC, which really
> desperately needs an optimizing compiler to perform decently.
> I don't know what the hit would be like on IA64.
>
> You could try manually repairing gcc's copy of sys/types.h by adding
> the stuff it's missing compared to /usr/include.  I'm not sure how
> many other discrepancies there are and which if any might be critical.
>
>                         regards, tom lane
>