[MacPorts] #66824: php70-mbstring @7.0.33: error: incomplete definition of type 'struct php_mb_re_pattern_buffer'
MacPorts
noreply at macports.org
Sat Feb 4 03:40:16 UTC 2023
#66824: php70-mbstring @7.0.33: error: incomplete definition of type 'struct
php_mb_re_pattern_buffer'
-----------------------+------------------------
Reporter: Lomantik | Owner: ryandesign
Type: defect | Status: accepted
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Resolution: | Keywords:
Port: php |
-----------------------+------------------------
Changes (by ryandesign):
* status: assigned => accepted
Comment:
This is an incompatibility with oniguruma 6.8.1 and later.
To work around it, deactivate oniguruma6 first and (assuming you still
want it for other reasons) reactivate it later:
{{{
sudo port -f deactivate oniguruma6
sudo port clean php70-mbstring
sudo port install php70-mbstring
sudo port activate oniguruma6
}}}
(Trace mode (`sudo port -t install php70-mbstring`) would also work around
the problem except that trace mode is currently broken on macOS Ventura
and later; see #66358.)
This is the upstream bug report:
https://bugs.php.net/76113
Here is FreeBSD's bug report about it:
https://bugs.freebsd.org/226717
This is the fix which went into PHP 7.1 and later:
https://github.com/php/php-
src/commit/4072b2787074ee8e247a6639585b49e10c5a55fe
php74-mbstring and later depend on and require MacPorts oniguruma6 to be
installed. php73-mbstring and earlier have a bundled copy of oniguruma but
php54-oniguruma and later will use the MacPorts oniguruma6 port if it is
installed, which I didn't realize before.
I need to either make php54-mbstring through php73-mbstring not use a
MacPorts oniguruma if installed, or I need to backport that fix to php 7.0
and earlier and add the oniguruma6 dependency to php54-mbstring through
php73-mbstring.
--
Ticket URL: <https://trac.macports.org/ticket/66824#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list