Opened 9 years ago

Closed 9 years ago

#173 closed defect (invalid)

nginx fails to compile with SunCC on Linux

Reported by: Alex Zhang Owned by: somebody
Priority: minor Milestone: 1.2.1
Component: nginx-package Version: 1.3.x
Keywords: SunCC Cc:
uname -a: Linux ifanr-cn 2.6.32-5-amd64 #1 SMP Sun Jan 1 04:57:38 CST 2012 x86_64 GNU/Linux
Sun C 5.12 Linux_i386 2011/11/16
nginx -V: NULL, nginx source 1.2.0

Description

OS: Debian 6
Compiler: SunCC/Solaris Studio 12.3

make -f objs/Makefile
make[1]: Entering directory `/root/packages/nginx-1.2.0'
cc -c -m64 -fast -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

"/usr/include/glob.h", line 175: identifier redeclared: glob64

current : function(pointer to const char, int, pointer to function(..) returning int, pointer to struct {unsigned long gl_pathc, pointer to pointer to char gl_pathv, unsigned long gl_offs, int gl_flags, pointer to function(..) returning void gl_closedir, pointer to function(..) returning pointer to struct dirent64 {..} gl_readdir, pointer to function(..) returning pointer to void gl_opendir, pointer to function(..) returning int gl_lstat, pointer to function(..) returning int gl_stat}) returning int
previous: function(pointer to const char, int, pointer to function(..) returning int, pointer to struct {unsigned long gl_pathc, pointer to pointer to char gl_pathv, unsigned long gl_offs, int gl_flags, pointer to function(..) returning void gl_closedir, pointer to function(..) returning pointer to struct dirent {..} gl_readdir, pointer to function(..) returning pointer to void gl_opendir, pointer to function(..) returning int gl_lstat, pointer to function(..) returning int gl_stat}) returning int : "/usr/include/glob.h", line 159

"/usr/include/glob.h", line 179: identifier redeclared: globfree64

current : function(pointer to struct {unsigned long gl_pathc, pointer to pointer to char gl_pathv, unsigned long gl_offs, int gl_flags, pointer to function(..) returning void gl_closedir, pointer to function(..) returning pointer to struct dirent64 {..} gl_readdir, pointer to function(..) returning pointer to void gl_opendir, pointer to function(..) returning int gl_lstat, pointer to function(..) returning int gl_stat}) returning void
previous: function(pointer to struct {unsigned long gl_pathc, pointer to pointer to char gl_pathv, unsigned long gl_offs, int gl_flags, pointer to function(..) returning void gl_closedir, pointer to function(..) returning pointer to struct dirent {..} gl_readdir, pointer to function(..) returning pointer to void gl_opendir, pointer to function(..) returning int gl_lstat, pointer to function(..) returning int gl_stat}) returning void : "/usr/include/glob.h", line 164

cc: acomp failed for src/core/nginx.c
make[1]: * [objs/src/core/nginx.o] Error 2
make[1]: Leaving directory `/root/packages/nginx-1.2.0'
make:
* [build] Error 2

Change History (1)

comment:1 by Sergey Budnevitch, 9 years ago

Resolution: invalid
Status: newclosed

It is a glibc bug. In /usr/include/glob.h glob64 is declared twice because __GNUC__ < 2 is true if __GNUC__ is undefined.

Note: See TracTickets for help on using tickets.