php / php/php-src

Build regression with PHP 8.5

Open
#20,920 6 comments 0 reactions 1 assignee View on GitHub

@bukka is already working on this.

Since Jan 13, 2026.

Bug Extension: openssl Status: Needs Triage
Dominant language
C
Stars
40.4k
Forks
8.1k
Avg merge
2d 13h
Merged PRs (30d)
96

Description

Description

I maintain a source-based Linux distribution, and strive to use the latest stable release of everything as much as possible. I have LibreSSL 4.2.1 on my build server (as well as, in cast it matters, MariaDB 12.1.2, libgd 2.3.3, libpng 1.6.53, libjpeg 9f, libzip 1.11.4, oniguruma 6.9.10, and ICU 78.1).

I configure PHP with:

./configure --prefix=/opt/php --sysconfdir=/etc/php --with-config-file-scan-dir=/etc/php.d --enable-fpm --with-mysqli --with-pdo-mysql=/opt/mariadb --with-layout=GNU --enable-libgcc --with-openssl --with-external-pcre --with-zlib --with-bz2 --with-gmp --with-gettext --with-readline --with-xsl --with-pear --enable-mbstring --enable-exif --with-curl --enable-gd --enable-intl --with-zip

With PHP 8.4.16, the build runs to completion and works fine.
With PHP 8.5.1, the build terminates when compiling the openssl extension, specifically with:

------cut here------
/bin/sh /home/lbl/php-8.5.1/libtool --silent --preserve-dup-deps --tag=CC --mode=compile cc -Iext/openssl/ -I/home/lbl/php-8.5.1/ext/openssl/ -I/home/lbl/php-8.5.1/main -I/home/lbl/php-8.5.1 -I/home/lbl/php-8.5.1/ext/date/lib -I/usr/incl
ude/libxml2 -I/usr/include/libpng16 -I/home/lbl/php-8.5.1/ext/lexbor -I/home/lbl/php-8.5.1/ext/mbstring/libmbfl -I/home/lbl/php-8.5.1/ext/mbstring/libmbfl/mbfl -I/opt/mariadb/include/mysql -I/opt/mariadb/include/mysql/mysql -I/home/lbl/p
hp-8.5.1/ext/uri/uriparser/include -I/home/lbl/php-8.5.1/TSRM -I/home/lbl/php-8.5.1/Zend -D_GNU_SOURCE -fno-common -Wstrict-prototypes -Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-unused-paramete
r -Wno-sign-compare -g -O2 -ffp-contract=off -fvisibility=hidden -DNDEBUG -Wimplicit-fallthrough=1 -DZEND_SIGNALS -c /home/lbl/php-8.5.1/ext/openssl/openssl.c -o ext/openssl/openssl.lo -MMD -MF ext/openssl/openssl.dep -MT ext/openssl/openssl.lo
In file included from /home/lbl/php-8.5.1/Zend/zend_execute.h:28,
from /home/lbl/php-8.5.1/Zend/zend_API.h:29,
from /home/lbl/php-8.5.1/main/php.h:35,
from /home/lbl/php-8.5.1/ext/openssl/openssl.c:27:
/home/lbl/php-8.5.1/ext/openssl/openssl_arginfo.h: In function 'register_openssl_symbols':
/home/lbl/php-8.5.1/ext/openssl/openssl_arginfo.h:592:57: error: 'PKCS7_NO_DUAL_CONTENT' undeclared (first use in this function); did you mean 'PKCS7_R_NO_CONTENT'?
592 | REGISTER_LONG_CONSTANT("PKCS7_NO_DUAL_CONTENT", PKCS7_NO_DUAL_CONTENT, CONST_PERSISTENT);
| ^~~~~~~~~~~~~~~~~~~~~
/home/lbl/php-8.5.1/Zend/zend_constants.h:64:105: note: in definition of macro 'REGISTER_LONG_CONSTANT'
64 | #define REGISTER_LONG_CONSTANT(name, lval, flags) zend_register_long_constant((name), sizeof(name)-1, (lval), (flags), module_number)
| ^~~~
/home/lbl/php-8.5.1/ext/openssl/openssl_arginfo.h:592:57: note: each undeclared identifier is reported only once for each function it appears in
------cut here------

If there's any additional information I can provide, or tests I can perform that would be helpful, I would be happy to do so!

PHP Version
PHP 8.5.1, from source archive.
Operating System

Linux 6.18.2 SMP PREEMPT_DYNAMIC Thu Jan 8 01:48:41 -00 2026 x86_64 GNU/Linux

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.