-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot build 3.x releases for php 5.6 in gcc 5.4.0 due to use of "inline" #63
Comments
Hi, I understand your motivation here. If you provide a patch that fixes builds for the extension for 3.x releases (PHP 5.x) with newer GCC, I will be glad to include them and do a new release. |
Note that the memcache-3.0.8 git branch is a completely different history from the RELEASE_3.0.6 git tag. Tests are passing locally with gcc 5.4.0 and php 5.6.40 on NTS non-debug. (with and without Valgrind) 100b was flaky in valgrind due to timing. Tests also pass in ZTS debug. For websupport-sk#63
Note that the memcache-3.0.8 git branch is a completely different history from the RELEASE_3.0.6 git tag. Tests are passing locally with gcc 5.4.0 and php 5.6.40 on NTS non-debug. (with and without Valgrind) 100b was flaky in valgrind due to timing. Tests also pass in ZTS debug with gcc 5.4.0 or gcc 9.2.0. For websupport-sk#63
Hi - I'd suggest creating a 3.0.9 release based on TysonAndre@10dd0df . Feel free to amend the release notes and dates as needed, or take out the test helper files. This was created based on the memcache-3.0.8 branch found in https://github.com/websupport-sk/pecl-memcache - the commits included are https://github.com/TysonAndre/pecl-memcache/commits/10dd0df13d496c1cd5e5be49dcfbffccb371c39a
|
@tomassrnka - are there any issues that need to be addressed in the linked patch? |
Even with the proposed patch, clang (Apple clang version 12.0.0 (clang-1200.0.32.29)) in its default gnu99 mode emits these warnings when building 3.0.8:
Nevertheless the build succeeds, though I don't know if the module it built works. If I use Looks like the bug was already fixed in memcache 4.x by removing The remaining changes in that commit relating to constness are not standalone; they depend on other constness changes made in fa69d6a and would only be applicable to php 5.6.x (looks like php 5.5.x and earlier didn't get constified) so perhaps they don't need to be backported. The change from While we're at it, fc76c47 would be good to backport too. Here are the patches I've added to MacPorts with 3.0.8: With those patches, I get no warnings building 3.0.8 for php 5.3.x through 5.5.x and only the constness warnings with 5.6.x. |
The patch 82480df was applied to the latest releases, but never backported to 3.x for php 5.
From #49 , I'm not sure whether or not there are plans to continue supporting the 3.x release line. I didn't find any related issues.
extern inline
would probably also work, but I didn't test that). mmc_prepare_key_ex is used from 2 different files.https://gcc.gnu.org/gcc-5/porting_to.html mentions that the way
inline
was compiled changed, and thatextern inline
should be used instead (see 82480df)Motivation: Give projects still using the "memcache" PECL in 5.x a way to update and test in php 5.6 (a newer compiler may be needed on newer OSes) then to php 7.x
The text was updated successfully, but these errors were encountered: