#34443 [WFx->Bgs]: Compile of exts using the bundled expat library failing if new libxml2 used

From: Date: Mon, 12 Sep 2005 06:48:53 +0000
Subject: #34443 [WFx->Bgs]: Compile of exts using the bundled expat library failing if new libxml2 used
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-84902@lists.php.net to get a copy of this message
ID: 34443 Updated by: sniper@php.net Reported By: chtekk at longitekk dot com -Status: Wont fix +Status: Bogus Bug Type: Compile Failure Operating System: Linux (Gentoo) PHP Version: 4.4.0 New Comment: Actually this is bogus (from our pov). This has to be fixed in libxml itself. Previous Comments: ------------------------------------------------------------------------ [2005-09-12 00:31:02] sniper@php.net Just start using PHP 5.1 once it's released. Support for PHP 4 has practically ended. (only critical security flaws will be fixed) ------------------------------------------------------------------------ [2005-09-11 00:20:01] chtekk at longitekk dot com We're speaking about PHP4 here, not PHP5 wich doesn't have this problem as it defaults to use libxml2 for everything, and does not anymore use the expat library. The problem with PHP4 however remains also with the latest snapshot I tested with, php4-STABLE-200509102052 from http://snaps.php.net/. Please fix the bundled expat library to be compatible also with newer libxml2 releases, CHTEKK. ------------------------------------------------------------------------ [2005-09-10 22:56:51] sniper@php.net Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-09-09 18:22:52] chtekk at longitekk dot com Description: ------------ Hi. We've just got some bug reports over at Gentoo that I was also able to reproduce (http://bugs.gentoo.org/show_bug.cgi?id=105268). The problem is obvious by the error messages, 'XML_FEATURE_UNICODE' gets declared two times, one time by libxml2 version 2.6.21, and one time by the bundled expat library. Now this happens only if you enable any extension that uses the bundled expat library (wddx, xml, xmlrpc) AND the DOM XML extension. In that case the external libxml2 gets included also and, since it defines 'XML_FEATURE_UNICODE' too it clashes with the 'XML_FEATURE_UNICODE' definition the bundled expat library has. libxml2 2.6.19 works since it does not define 'XML_FEATURE_UNICODE' at all, but 2.6.21 does define it ( /usr/include/libxml2/libxml/parser.h:1196: XML_FEATURE_UNICODE = 21, ), and thus the compile crashes. Now I'm not sure how the bundled expat library can be fixed so that this error goes away, I hope someone knows. :) Reproduce code: --------------- a) install libxml2 2.6.21 b) install PHP with --with-dom --enable-wddx c) see the bug :) Expected result: ---------------- PHP should compile with the new libxml2 version, and support for both DOM XML and the bundled expat-based library extensions. Actual result: -------------- In file included from /var/tmp/portage/mod_php-4.4.0-r1/work/php-4.4.0/ext/wddx/php_wddx.h:26, from main/internal_functions.c:65: /var/tmp/portage/mod_php-4.4.0-r1/work/php-4.4.0/ext/xml/expat/expat.h:894: error: conflicting types for 'XML_FEATURE_UNICODE' /usr/include/libxml2/libxml/parser.h:1196: error: previous definition of 'XML_FEATURE_UNICODE' was here make: *** [main/internal_functions.lo] Error 1 make: *** Waiting for unfinished jobs.... ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34443&edit=1

« previous php.bugs (#84902) next »