A system where I’m trying to build nginx doesn’t define a few types it
needs like uint64_t, uint32_t, uintptr_t, etc., anywhere in
/usr/include. What is the proper way to define these missing types for
nginx’s configure?
On Mon, Apr 26, 2010 at 10:08:59AM -0400, Brian Lewis wrote:
A system where I’m trying to build nginx doesn’t define a few types it
needs like uint64_t, uint32_t, uintptr_t, etc., anywhere in
/usr/include. What is the proper way to define these missing types for
nginx’s configure?
It seems there is no way currently to make it right.
What is your system ?
–
Igor S.
http://sysoev.ru/en/
On Tuesday, 27.04.10 at 21:50, Igor S. wrote:
On Mon, Apr 26, 2010 at 10:08:59AM -0400, Brian Lewis wrote:
A system where I’m trying to build nginx doesn’t define a few types
it needs like uint64_t, uint32_t, uintptr_t, etc., anywhere in
/usr/include. What is the proper way to define these missing types
for nginx’s configure?It seems there is no way currently to make it right.
What is your system ?
The 'uname -a’s are
SCO_SV sco5 3.2 5.0.6 i386
SCO_SV sco6 5 6.0.0 i386
On Tuesday, 27.04.10 at 22:35, Igor S. wrote:
Try the attached patch. It should show found replacements and fail on
uintptr_t. Could you show the new ./configure output fromchecking for int size … 4 bytes
to
checking for uintptr_t …?
Thank you for the patch. The output is
checking for int size … 4 bytes
checking for long size … 4 bytes
checking for long long size … 8 bytes
checking for void * size … 4 bytes
checking for int64_t … int64_t not found, long long used
checking for uint64_t … uint64_t not found u_int64_t not found,
unsigned long long used
checking for int32_t … int32_t not found, int used
checking for uint32_t … uint32_t not found u_int32_t not found,
unsigned int used
checking for sig_atomic_t … found
checking for sig_atomic_t size … 4 bytes
checking for socklen_t … socklen_t not found, int used
checking for in_addr_t … in_addr_t not found uint32_t not found,
unsigned int used
checking for in_port_t … in_port_t not found, u_short used
checking for rlim_t … found
checking for uintptr_t … uintptr_t not found , uint32_t used
./configure completes successfully. Then, make produces
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter
-Wunused-function -Wunused-variable -Wunused-value -Werror -g -I
src/core -I src/event -I src/event/modules -I src/os/unix -I objs
-o objs/src/core/nginx.o
src/core/nginx.c
In file included from src/os/unix/ngx_posix_config.h:96,
from src/core/ngx_config.h:41,
from src/core/nginx.c:7:
objs/ngx_auto_config.h:167: warning: redefinition of int32_t' /usr/include/sys/bitypes.h:82: warning:
int32_t’ previously declared
here
On Tue, Apr 27, 2010 at 03:39:25PM -0400, Brian Lewis wrote:
Thank you for the patch. The output is
checking for sig_atomic_t size … 4 bytes
src/core/nginx.c
In file included from src/os/unix/ngx_posix_config.h:96,
from src/core/ngx_config.h:41,
from src/core/nginx.c:7:
objs/ngx_auto_config.h:167: warning: redefinition ofint32_t' /usr/include/sys/bitypes.h:82: warning:
int32_t’ previously declared here
It seems SCO has int32_t. Then could you show what is after
“checking for int32_t” in objs/autoconf.err ?
–
Igor S.
http://sysoev.ru/en/
On Tue, Apr 27, 2010 at 01:57:32PM -0400, Brian Lewis wrote:
The 'uname -a’s are
SCO_SV sco5 3.2 5.0.6 i386
SCO_SV sco6 5 6.0.0 i386
Try the attached patch. It should show found replacements and fail on
uintptr_t. Could you show the new ./configure output from
checking for int size … 4 bytes
to
checking for uintptr_t …
?
On Tue, Apr 27, 2010 at 04:09:36PM -0400, Brian Lewis wrote:
return 0;
}
Adding ‘#include <sys/bitypes.h>’ lets autotest.c compile.
It seems <sys/bitypes.h> is the right way to use int32_t, etc. on SCO.
Could you try the attached patch ?
On Wednesday, 28.04.10 at 23:18, Igor S. wrote:
It seems <sys/bitypes.h> is the right way to use int32_t, etc. on SCO.
Could you try the attached patch ?
Thank you for the patch.
checking for uint64_t … uint64_t not found u_int64_t not found
./configure: error: can not define uint64_t
<sys/bitypes.h> defines int32_t and u_int32_t, but I don’t see any
definitions for int64_t or u_int64_t anywhere in /usr/include.
On Tuesday, 27.04.10 at 23:50, Igor S. wrote:
It seems SCO has int32_t. Then could you show what is after
“checking for int32_t” in objs/autoconf.err ?
objs/autotest.c: In function main': objs/autotest.c:11: error:
int32_t’ undeclared (first use in this
function)
objs/autotest.c:11: error: (Each undeclared identifier is reported only
once
objs/autotest.c:11: error: for each function it appears in.)
objs/autotest.c:11: error: parse error before “i”
#include <sys/types.h>
#include <signal.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <netinet/in.h>
int main() {
int32_t i = 0;
return 0;
}
Adding ‘#include <sys/bitypes.h>’ lets autotest.c compile.
On Wed, Apr 28, 2010 at 03:42:45PM -0400, Brian Lewis wrote:
definitions for int64_t or u_int64_t anywhere in /usr/include.
Well, here is a new patch.
On Wed, Apr 28, 2010 at 11:51:53PM +0400, Igor S. wrote:
<sys/bitypes.h> defines int32_t and u_int32_t, but I don’t see any
definitions for int64_t or u_int64_t anywhere in /usr/include.Well, here is a new patch.
Sorry, this patch is wrong. Here is a new one.
On Thursday, 29.04.10 at 00:01, Igor S. wrote:
Sorry, this patch is wrong. Here is a new one.
Thanks.
checking for int size … 4 bytes
checking for long size … 4 bytes
checking for long long size … 8 bytes
checking for void * size … 4 bytes
checking for int64_t … int64_t not found, long long used
checking for uint64_t … uint64_t not found u_int64_t not found,
unsigned long long used
checking for sig_atomic_t … found
checking for sig_atomic_t size … 4 bytes
checking for socklen_t … socklen_t not found, int used
checking for in_addr_t … in_addr_t not found uint32_t not found
./configure: error: can not define in_addr_t
On Wednesday, 28.04.10 at 23:51, Igor S. wrote:
Well, here is a new patch.
Thank you.
creating objs/Makefile
checking for int size … 4 bytes
checking for long size … 4 bytes
checking for long long size … 8 bytes
checking for void * size … 4 bytes
checking for int64_t … int64_t not found, long used
checking for uint64_t … uint64_t not found u_int64_t:unsigned not
found, long used
checking for sig_atomic_t … found
checking for sig_atomic_t size … 4 bytes
checking for socklen_t … socklen_t not found, int used
checking for in_addr_t … in_addr_t not found uint32_t not found
./configure: error: can not define in_addr_t
No definition for in_addr_t exists anywhere in /usr/include.
On Thursday, 29.04.10 at 10:30, Igor S. wrote:
On Wed, Apr 28, 2010 at 04:07:57PM -0400, Brian Lewis wrote:
checking for in_addr_t … in_addr_t not found uint32_t not found
./configure: error: can not define in_addr_tWhat is in objs/autoconf.err after
checking for sys/bitypes.h
?
There are no errors in that section. <sys/bitypes.h> defines u_int32_t,
though.
On Wed, Apr 28, 2010 at 04:07:57PM -0400, Brian Lewis wrote:
checking for uint64_t … uint64_t not found u_int64_t not found, unsigned long long used
checking for sig_atomic_t … found
checking for sig_atomic_t size … 4 bytes
checking for socklen_t … socklen_t not found, int used
checking for in_addr_t … in_addr_t not found uint32_t not found
./configure: error: can not define in_addr_t
What is in objs/autoconf.err after
checking for sys/bitypes.h
?
–
Igor S.
http://sysoev.ru/en/
On Thu, Apr 29, 2010 at 09:46:00AM -0400, Brian Lewis wrote:
though.
Well, here is a new patch.
On Thursday, 29.04.10 at 17:55, Igor S. wrote:
Well, here is a new patch.
Thank you. That patch allows ./configure to complete.
make produces
src/core/ngx_string.c: In function ngx_vslprintf': src/core/ngx_string.c:275: warning:
ngx_pid_t’ is promoted to int' when passed through
…’
src/core/ngx_string.c:275: warning: (so you should pass int' not
ngx_pid_t’ to `va_arg’)
make[1]: *** [objs/src/core/ngx_string.o] Error 1
On Thu, Apr 29, 2010 at 05:55:27PM +0400, Igor S. wrote:
There are no errors in that section. <sys/bitypes.h> defines u_int32_t,
though.Well, here is a new patch.
BTW, if the patch will resolve the issue, could you please post full
./configure ouput ?
–
Igor S.
http://sysoev.ru/en/
On Thu, Apr 29, 2010 at 10:06:58AM -0400, Brian Lewis wrote:
On Thursday, 29.04.10 at 17:58, Igor S. wrote:
BTW, if the patch will resolve the issue, could you please post full
./configure ouput ?Output of
./configure --without-http_rewrite_module --without-http-cache
:checking for OS
- SCO_SV 3.2 i386
checking for off_t size … 4 bytes
Does SCO support files >2G ?
–
Igor S.
http://sysoev.ru/en/
On Thursday, 29.04.10 at 17:58, Igor S. wrote:
BTW, if the patch will resolve the issue, could you please post full
./configure ouput ?
Output of
./configure --without-http_rewrite_module --without-http-cache
:
checking for OS
- SCO_SV 3.2 i386
checking for C compiler … found - using GNU C compiler
- gcc version: 3.3.1
checking for gcc -pipe switch … found
checking for gcc builtin atomic operations … not found
checking for gcc variadic macros … found
checking for C99 variadic macros … found
checking for unistd.h … found
checking for inttypes.h … not found
checking for limits.h … found
checking for sys/filio.h … not found
checking for sys/param.h … found
checking for sys/mount.h … found
checking for sys/statvfs.h … found
checking for sys/bitypes.h … found
checking for crypt.h … found
checking for SCO_SV specific features
checking for nobody group … not found
checking for nogroup group … found
checking for poll() … found
checking for /dev/poll … not found
checking for kqueue … not found
checking for crypt() … found
checking for F_READAHEAD … not found
checking for posix_fadvise() … not found
checking for O_DIRECT … not found
checking for F_NOCACHE … not found
checking for directio() … not found
checking for statfs() … not found
checking for statvfs() … found
checking for dlopen() … found
checking for sched_yield() … found
checking for zlib library … found
creating objs/Makefile
checking for int size … 4 bytes
checking for long size … 4 bytes
checking for long long size … 8 bytes
checking for void * size … 4 bytes
checking for int64_t … int64_t not found, long long used
checking for uint64_t … uint64_t not found u_int64_t not found,
unsigned long long used
checking for int32_t … found
checking for uint32_t … uint32_t not found, u_int32_t used
checking for sig_atomic_t … found
checking for sig_atomic_t size … 4 bytes
checking for socklen_t … socklen_t not found, int used
checking for in_addr_t … in_addr_t not found uint32_t not found,
u_int32_t used
checking for in_port_t … in_port_t not found, u_short used
checking for rlim_t … found
checking for uintptr_t … uintptr_t not found , uint32_t used
checking for system endianess … little endianess
checking for size_t size … 4 bytes
checking for off_t size … 4 bytes
checking for time_t size … 4 bytes
checking for setproctitle() … not found
checking for pread() … not found
checking for pwrite() … not found
checking for strerror_r() … not found
checking for gnu style strerror_r() … not found
checking for sys_errlist[] … not found
checking for localtime_r() … found
checking for posix_memalign() … not found
checking for memalign() … found
checking for mmap(MAP_ANON|MAP_SHARED) … not found
checking for mmap("/dev/zero", MAP_SHARED) … found
checking for System V shared memory … found
checking for struct msghdr.msg_control … found
checking for ioctl(FIONBIO) … not found
checking for struct tm.tm_gmtoff … not found
checking for struct dirent.d_namlen … not found
checking for struct dirent.d_type … not found
Configuration summary
- PCRE library is not used
- OpenSSL library is not used
- md5 library is not used
- sha1 library is not used
- using system zlib library
nginx path prefix: “/usr/local/nginx”
nginx binary file: “/usr/local/nginx/sbin/nginx”
nginx configuration prefix: “/usr/local/nginx/conf”
nginx configuration file: “/usr/local/nginx/conf/nginx.conf”
nginx pid file: “/usr/local/nginx/logs/nginx.pid”
nginx error log file: “/usr/local/nginx/logs/error.log”
nginx http access log file: “/usr/local/nginx/logs/access.log”
nginx http client request body temporary files: “client_body_temp”
nginx http proxy temporary files: “proxy_temp”
nginx http fastcgi temporary files: “fastcgi_temp”