|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #2822 Compilation fails in libzend/ files - conflicting "dlerror" declarations
Submitted: 1999-11-24 18:31 UTC Modified: 2000-06-08 22:03 UTC
From: dswhite42 at yahoo dot com Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0 Beta 3 OS: AIX 4
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: dswhite42 at yahoo dot com
New email:
PHP Version: OS:


 [1999-11-24 18:31 UTC] dswhite42 at yahoo dot com
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

but files like libzend/zend_config.h have less-restrictive definitions like this?

# include <dlfcn.h>

Anyway, I apologize if this is not enough information, but I hope this report will help.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2000-06-08 22:03 UTC] andi at cvs dot php dot net
A lot has changed since November. Can you please try and build PHP 4 again and reopen the bug report if you still encounter this problem.

PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Fri Sep 17 07:03:36 2021 UTC