Opened 12 years ago
Closed 12 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
It is a glibc bug. In /usr/include/glob.h glob64 is declared twice because
__GNUC__ < 2
is true if__GNUC__
is undefined.