Re: Re: fedora9 with its gcc 4.3 doesn't compile nginx 0.6.3x while fedora8 with gcc 4.1.2 does

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

 



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>

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux