PHP 4.0 Bug #2822: Compilation fails in libzend/ files - conflicting "dlerror" declarations

From: Date: Wed, 24 Nov 1999 17:31:37 +0000
Subject: PHP 4.0 Bug #2822: Compilation fails in libzend/ files - conflicting "dlerror" declarations
Groups: php.dev 
Request: Send a blank email to php-dev+get-13065@lists.php.net to get a copy of this message
From: dswhite42@yahoo.com Operating system: AIX 4 PHP version: 4.0 Beta 3 PHP Bug Type: Compile Failure Bug description: Compilation fails in libzend/ files - conflicting "dlerror" declarations I'm sorry if this report doesn't contain enough information - I'm not a C programmer. But I'll try to describe the problem as best I can. My configure command: ./configure --with-mysql=/usr/local/ mysql --with-apache=../apache_1.3.9 --with-config-file-path=/http/bcbsnc/php The compilation (using either AIX cc or gcc) both halt at the same place. AIX' cc' error message seems more useful: /bin/sh ../../libtool --silent --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../libzend -I../.. -I../../libzend -I/http/bcbsnc/src/apache_1.3.9 /src/include -I/http/bcbsnc/src/apache_1.3.9/src/os/unix -I/usr/local/mysql/inc lude -g -g -c -o apache.lo apache.c "/http/bcbsnc/src/apache_1.3.9/src/os/unix/os.h", line 119.12: 1506-343 (S) Redeclaration of dlerror differs from previous declaration on line 35 of "/usr/include/dlfcn.h". "/http/bcbsnc/src/apache_1.3.9/src/os/unix/os.h", line 119.12: 1506-050 (I) Return type "const unsigned char*" in redeclaration is not compatible with the previous return type "unsigned char*". Though I'm not a C programmer, it looks like there is a conflicting declaration of dlfcn.h . I was able to fix this problem and complete the compilation by going to my "apache_1.3.9" directory and modifying line 119 of /s rc/os/unix/os.h to be "char *dlerror(void);" instead of "const char *dlerror(void);" I wonder, does this have anything to do with the fact that php.h has definitions like this: #if HAVE_DLFCN_H && !((defined(_AIX) || defined(AIX)) && APACHE) # include <dlfcn.h> #endif # endif #endif but files like libzend/zend_config.h have less-restrictive definitions like this? #ifdef HAVE_DLFCN_H # include <dlfcn.h> #endif Anyway, I apologize if this is not enough information, but I hope this report will help.

« previous php.dev (#13065) next »