Skip to content

PHP 8.2.13 fails to build against libxml 2.12.1 and libxslt 1.1.39 #12789

@ricky-rockstar

Description

@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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions