[php-src] Issue #12789: PHP 8.2.13 fails to build against libxml 2.12.1 and libxslt 1.1.39
| From: | ricky-rockstar | Date: | Sun, 26 Nov 2023 20:56:12 +0000 |
| Subject: | [php-src] Issue #12789: PHP 8.2.13 fails to build against libxml 2.12.1 and libxslt 1.1.39 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-245897@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/12789
Author: ricky-rockstar
### Description
**The following build:**
export
PKG_CONFIG_PATH=/build/Python-3.12.0/lib/pkgconfig:/build/libntlm-1.6/lib64/pkgconfig:/build/gsasl-2.2.0/lib64/pkgconfig:/build/cyrus-sasl-2.1.28/lib64/pkgconfig:/build/krb5-1.21.2/lib64/pkgconfig:/build/icu4c-74_1/lib64/pkgconfig:/build/**libxml2-v2.12.1**/lib64/pkgconfig:/build/**libxslt-v1.1.39**/lib/pkgconfig:/build/openssl-3.2.0/lib64/pkgconfig:/build/nghttp2-1.58.0/lib/pkgconfig:/build/ruby-3.1.2/lib/pkgconfig:/build/libssh2-1.11.0/lib64/pkgconfig:/build/openssh-9.5p1/lib64/pkgconfig:/build/openldap-2.6.6/lib64/pkgconfig:/build/curl-8.4.0/lib64/pkgconfig:/build/libzip/lib64/pkgconfig:/build/freetype-2.13.2/lib64/pkgconfig:/build/libwebp-1.3.2/lib64/pkgconfig:/build/oniguruma-6.9.9/lib64/pkgconfig:/build/apr-1.7.4/lib64/pkgconfig:/build/apr-util-1.6.3/lib64/pkgconfig:/build/pcre-8.45/lib64/pkgconfig:/build/pcre2-10.42/lib64/pkgconfig
./configure --disable-all --prefix=/resources/php --bindir=/resources/php/bin
--sbindir=/resources/php/sbin
--with-config-file-path=/resources/php/lib/osDo-not-modify-this-php_ini
--with-config-file-scan-dir=/configuration/php/ini --disable-debug --enable-opcache=shared
--enable-huge-code-pages --enable-intl=shared --enable-ftp=shared --enable-session=shared
--enable-xml=shared --with-apxs2=/resources/apache2/bin/apxs --with-layout=GNU
--enable-filter=shared --with-zlib=shared --enable-simplexml=shared --enable-dom=shared
--with-openssl=shared,/build/openssl-3.2.0 --with-readline=shared --with-iconv=shared
--enable-phar=shared --enable-xmlwriter=shared --enable-xmlreader=shared --enable-bcmath=shared
--with-bz2=shared --enable-calendar=shared --enable-ctype=shared --with-curl --enable-exif=shared
--enable-fileinfo=shared --enable-ftp=shared --enable-gd --with-jpeg --with-webp --with-freetype
--with-mysqli=shared --disable-phpdbg --enable-fpm=shared --with-fpm-systemd --with-fpm-acl
--with-gettext=shared --with-libxml --with-libdir=lib64 --with-ldap=/build/openldap-2.6.6
--with-ldap-sasl=/build/openldap-2.6.6 --with-kerberos --enable-posix=shared --enable-soap=shared
--enable-sockets=shared --with-tidy=shared,/build/libtidy --enable-tokenizer=shared
--with-xsl=shared --enable-mbstring=shared --with-zip --with-external-pcre
**fails with**
/bin/sh /source/php-8.2.13/libtool --silent --preserve-dup-deps --tag CC --mode=compile cc -Imain/
-I/source/php-8.2.13/main/ -I/source/php-8.2.13/include -I/source/php-8.2.13/main
-I/source/php-8.2.13 -I/source/php-8.2.13/ext/date/lib -I/build/libxml2-v2.12.1/include/libxml2
-I/build/icu4c-74_1/include -I/build/krb5-1.21.2/include -I/build/openssl-3.2.0/include
-I/build/pcre2-10.42/include -I/build/curl-8.4.0/include -I/usr/include/libpng16
-I/build/libwebp-1.3.2/include -I/build/libwebp-1.3.2/include/webp
-I/build/freetype-2.13.2/include/freetype2 -I/build/openldap-2.6.6/include
-I/build/cyrus-sasl-2.1.28/include -I/build/oniguruma-6.9.9/include
-I/source/php-8.2..13/ext/mbstring/libmbfl -I/source/php-8.2.13/ext/mbstring/libmbfl/mbfl
-I/build/libtidy/include -I/build/libxslt-v1.1.39/include -I/build/libzip/include
-I/source/php-8.2.13/TSRM -I/source/php-8.2.13/Zend -D_GNU_SOURCE -fno-common -Wstrict-prototypes
-Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-strict-aliasing
-Wno-unused-parameter -Wno-sign-compare -g -O2 -fvisibility=hidden -Wimplicit-fallthrough=1
-DZEND_SIGNALS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -c main/internal_functions.c -o
main/internal_functions.lo -MMD -MF main/internal_functions.dep -MT main/internal_functions.lo
In file included from main/internal_functions.c:27:
/source/php-8.2.13/ext/libxml/php_libxml.h: In function ?php_libxml_sanitize_parse_ctxt_options?:
/source/php-8.2.13/ext/libxml/php_libxml.h:148:6: error: dereferencing pointer to incomplete type
?xmlParserCtxt? {aka ?struct _xmlParserCtxt?}
ctxt->loadsubset = 0;
^~
make: *** [Makefile:2440: main/internal_functions.lo] Error 1
**But replacing**
libxml2-v2.12.1 with libxml2-v2.9.14 _AND_ libxslt-v1.1.39 with libxslt-v1..1.35
Resolves the problem and PHP 8.2.13 builds correctly.
**So I have the following questions:**
1. Is this intentional?
2. If so, what is the most recent version of libxml2 and libxslt that PHP 8..2.13 supports?
3. Is there any intention to support libxml2-v2.12.1? (as it introduces some nice sounding memory
behaviour)
Thank you
### PHP Version
PHP 8.2.13
### Operating System
Oracle Unbreakable Linux