|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #11209 compilation fails (detect static png lib failed) (redefinition of `uint')
Submitted: 2001-05-31 07:37 UTC Modified: 2001-05-31 12:53 UTC
From: croy at infiniweb dot ca Assigned:
Status: Not a bug Package: Installation problem
PHP Version: 4.0.5 OS: Linux RedHat 7.1
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
21 + 48 = ?
Subscribe to this entry?

 [2001-05-31 07:37 UTC] croy at infiniweb dot ca
The compilation fails due to detection problem of the static png library in  ./configure.

OS: RedHat 7.1
configure line : ./configure --with-gd

I just installed RedHat 7.1 and tried to compile PHP.  I had the libpng RPM installed, but not libpng-devel.  When config tried to detect if uint was defined on my operating system, the configtest.c program failed to compile because it coudn't find -lpng, and not because uint wasn't defined.  So the configure script continued, thinking it had to define uint..  When it was time to compile libmysql.c, it chooked, saying uint was previously declared in sys/types.h.  Which is the case...

I think that either configure should make sure the static libpng is available before checking those things, or it shouldn't try to link with that lib when checking if uint is defined by my system...

Here's the config.log :
configure:27063: checking for type uint
configure:27082: gcc -o conftest -g -O2   conftest.c -lz -lpng -lgd -lresolv -lm -ldl -lcrypt -lnsl  -lresolv 1>&5
/usr/bin/ld: cannot find -lpng
collect2: ld returned 1 exit status
configure: failed program was:
#line 27071 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
  uint foo;

Here's the compilation output :

gcc  -I. -I/usr/local/src/web/php-4.0.5/ext/mysql/libmysql -I/usr/local/src/sweb/php-4.0.5/main -I/usr/local/src/web/php-4.0.5 -I/usr/local/src/web/php-4.0.5/Zend -I/usr/local/src/web/php-4.0.5/ext/mysql/libmysql -I/usr/local/src/web/php-4.0.5/ext/xml/expat/xmltok -I/usr/local/src/web/php-4.0.5/ext/xml/expat/xmlparse -I/usr/local/src/web/php-4.0.5/TSRM  -DSUPPORT_UTF8 -DXML_BYTE_ORDER=12 -g -O2  -c libmysql.c && touch libmysql.lo
In file included from libmysql.c:9:
global.g:240: warning: redefinition of `uint'
/usr/incluxde/sys/types.h:146: warning: `uint' previously declared here
global.h:241: warning: redefiniyion of `ushort'
/usr/include/sys/types.h:145: warning: `ushort' previously declared here
In file included from libmysql.c:12:
m_string.h:180: parse error before `__extention__'
m_string.h:180: parse error before `&&'
make[4]: *** [libmysql.lo] Error 1
make[4]: Leaving directory `/usr/local/src/web/php-4.0.5/ext/mysql/libmysql'

I hope you have everything you need to reproduce the problem and find a solution.

I fixed my problem simply by installing libpng-devel-1.0.9-1 I downloaded from `'.

Thank you.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2001-05-31 12:53 UTC]
This is not bug in PHP. If you want to compile something
you need to have the correct header files in your system.

PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Mar 02 04:01:28 2024 UTC