Hi Andrew,
yes, that is just what you said, or at least author has now issued a
patch which
adds that inclusion in to ngx_linux_config.h, superbly suggested, thanks
but what still puzzles me, as said earlier I'm not a programmer and
merely started my acquaintance
with rpmdevtools, so how come that this same source code gets built with
rpmbuild
on the very same machine that makefile fails to compile???
can you Andrew at least roughly point me?
cheers
ps. file eclosed herewith if anyone struggles with compiling nginx on f9
Andrew Haley wrote:
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.
Index: src/os/unix/ngx_linux_config.h
===================================================================
--- src/os/unix/ngx_linux_config.h (revision 1337)
+++ src/os/unix/ngx_linux_config.h (working copy)
@@ -47,6 +47,7 @@
#include <time.h> /* tzset() */
#include <malloc.h> /* memalign() */
+#include <limits.h> /* IOV_MAX */
#include <sys/ioctl.h>
#include <sys/sysctl.h>
#include <crypt.h>