This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: fedora9 with its gcc 4.3 doesn't compile nginx 0.6.3x while fedora8 with gcc 4.1.2 does
Pawel Eljasz wrote:
> Hi Andrew,
> I don't think so, there is an inclusion of what you mention, not
> directly in the file which fails
> besides, what I said, why it's just fine on fedora8 but not f9, and both
> sets are pretty much
> default distros, surely with regards to the compiler and related stuff
> and to me, but with reservation I ain't a programmer,
> declaration/definition of IOV_MAX is
> in /usr/include/bits/stdio_lim.h
> isn't it?
Yes. Defining IOV_MAX where it shouldn't be defined was a bug that
we fixed. It's important to realize that defining a macro where it
shouldn't be defined is a bug, just as not defining a macro where it
should be defined. In this case IOV_MAX shouldn't be defined unless
_XOPEN_SOURCE is defined.
> cheers
> and Hi Tom,
> I actually asked them before I posted here, and creator of the program
> said that is
> highly probable it's related to my build environment
> the same code works on fedora8
> cheers
>
> and! I grabbed source version from devel repo, nginx-0.6.31-1.fc10.src.rpm
> I could build a rpm from it on f9, so? what is that, fedora patches?
> if yes, which part? if I may ask?
It's hard to tell for sure, but ngx_posix_config.h does
#define _XOPEN_SOURCE
which is enought to make a simple test work:
#define _XOPEN_SOURCE
#include <stdio.h>
#include <limits.h>
int main()
{
printf ("%d\n", IOV_MAX);
return 0;
}
Andrew.