budiling postgresql-8.0.1 on Linux with GCC 4
I had some interesting issues come up, I'm not sure they're related to
GCC 4, but that's the only thing that I can thing of.
Firstly, the gcc version is :
gcc (GCC) 4.0.0 20050130 (experimental)
1. While running ./configure, it failed on not being able to detect the
type of parameters to accept(). It turns out that the second parameter
to accept() is __SOCKADDR_ARG, which is not one of the options in
ac_func_accept_argtypes.m4. Adding __SOCKADDR_ARG to :
for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr
*' 'void *'; do
like so
for ac_cv_func_accept_arg2 in '__SOCKADDR_ARG' 'struct sockaddr *'
'const struct sockaddr *' 'void *'; do
corrected the issue.
2. The compile ran successfully, however there were a number of warnings
like:
rtget.c:99: warning: left-hand operand of comma expression has no effect
They all seem related to :
PageGetItem(page, iid);
Is this an issue ?
Gianni Mariani <gianni@mariani.ws> writes:
Firstly, the gcc version is :
gcc (GCC) 4.0.0 20050130 (experimental)
1. While running ./configure, it failed on not being able to detect the
type of parameters to accept().
You probably need a newer gcc4. I know that PG 8.0.1 builds in Red Hat
rawhide, with a fairly recent gcc4 ... and I also know that there were
bugs of this general ilk in gcc4 as recently as early March, because I
hit some.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=149098
rtget.c:99: warning: left-hand operand of comma expression has no effect
They all seem related to :
PageGetItem(page, iid);
Is this an issue ?
If you compiled without --enable-cassert I'd not worry too much ... it's
probably just being overly noisy about AssertMacro.
regards, tom lane