php: update to @8.4.20, @8.5.5 ; autoconf @2.73 C23 fix#32175
php: update to @8.4.20, @8.5.5 ; autoconf @2.73 C23 fix#32175BjarneDMat wants to merge 2 commits intomacports:masterfrom
Conversation
|
Notifying maintainers: |
ryandesign
left a comment
There was a problem hiding this comment.
I've tried inserting :
# fix for autoconf 2.73 c++23 default if {[vercmp ${branch} <= 8.2]} { configure.cxxflags-append -std=gnu++20 }I've tried
-std=gnu++{11,14,17,20}, but compiling still fails w/ the exact same error inext/bcmath
I would be surprised if PHP version 8.2 and older required a C++ version as new as 2020. Previously, PHP had kept very low language requirements for maximum compatibility. I think they only started requiring C++11 a few years ago.
What is the error message you get? Is there a bug report I should be looking at for more info?
Whichever C++ version you end up specifying, make sure there is a corresponding configure.cxx_standard statement.
But this is only because autoconf 2.73 selects C23 on compilers that support it, right? So it doesn't fail on older OS versions with older compilers that don't support C23. |
Are you sure? The autoconf 2.73 release announcement only says they default to C23 if available. It doesn't say anything about C++23. This is what I see in the build log: It does not say anything about having checked for or selected C++23. Therefore, if you're having trouble building something in C23 mode and want an older C mode, you'd use e.g.: configure.cflags-append -std=gnu99
compiler.c_standard 1999 |
|
My bad 👎🏻 |
|
Ok, what about the legacy support changes? |
|
This seems to be the problem(s) : Do I do something about it - do we just ignore it ? The basic problem is, that Oracle has moved all downloads behind a login-wall. Thus I've marked |
That's answered in #31982 |
Testet on : |
4a9f8fc to
3a33523
Compare
Description
autoconf @2.73messesphp{80,81,82}up 👎🏻The reason is, that
/etc/bcmathstill uses K&R function declarations inlibbcmathfor php <= 8.2An official, minimal fix for
php82will be released w/ @8.2.31 in May 2026The patches, I've done, actually addresses more issues, in that they also fixes
int scale<->size_t scaleissues. Thus, my patches forphp{74..81}are actually more up-to-date than the officialphp8[23].Due to the patches, the
configure.cflagswork-around is no longer necessary, as it's been replaced by the correct patches.The below is now outdated
Thus, I've -temporarily- knownfailedphp{81,82}I'm working on a fix, but presently it eludes me 🤔🤓🤯
I've tried inserting :I've tried
-std=gnu++{11,14,17,20}, but compiling still fails w/ the exact same error inext/bcmathI'm seriously considering trying to backport
bcmathfromphp83and see, what happens 🙏🏻bcmathforphp{80,81,82}is based upon thebcmathfromphp74.It looks as if the
bcmathcode got seriously revised inphp83.I'm submitting this presently, because I find it important to upgradephp{84,85}The workaround forphp{81,82}is to installautoconf @2.72and switch to that, when installingphp{81,82}