@remicollet Hi remi, what do you think about this issue? Does it make sense? Thank you. Petr
I don't think it make sense, we obviously cannot install everything and this project seems inactive (last release in 2019, 4 years ago)
@remicollet Can you please provide to @paulbadcock why mod_php on RHEL8 is enabled instead of FPM?
This was a choice (not mine) to avoid complexity in first EL8 image
EL9 use FPM as mod_php is no more available
Other may exist in the future (such as 1 container for webserver, 1 for php backend...)
Seems to be already fixed by 65692230ba98b5735b911565682010afc67c769f
Same on Fedora
change expected value according to redis version
Second test failure is from my env, so going to delete my comment
Another failure using develop branch
testPipelinePublish [FAILED]
Uncaught exception 'NOPERM No permissions to access a channel' (testPipelinePublish)
See #2334
I also add a new $msg
option to assertTrue to be able to add some debug info about the failure
5.3.7 test suite
testObject [FAILED]
Assertion failed: /dev/shm/BUILD/php-pecl-redis5-5.3.7/NTS/tests/RedisTest.php:2747 (testObject)
Assertion failed: /dev/shm/BUILD/php-pecl-redis5-5.3.7/NTS/tests/RedisTest.php:2754 (testObject)
Redis 7.2-RC1 is released
See the 00-RELEASENOTES
No this is related to PHP build options used in Linux distribution for security and performance.
See: https://github.com/php/php-src/blob/PHP-7.0/Zend/zend.h#L86 this is in public API (ZEND_API) See: https://github.com/php/php-src/blob/PHP-5.5/Zend/zend.h#L294 this is not public
I mean we have test for php5.6, that builds and runs the code. But, I see your fix should be needed for php 5.x, just kind wander why it's not caught by our CI for php5.6.
Real builds (packages) for real distributions use lot of security build options.
We do run tests for php 5.6, here
PHP 5.6 is also affected See explanation on pr #96
Notice:
such undefined symbol is not detected as build time as it exists, but is not public
With default build, this will raise a segfault when code is used
With build using --enable-rtld-now
it fails at load time (option available since 7.4, but patch in older versions in various Linux distributions for security purpose)
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
On Fedora 34, with GCC 11
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_90s_r2/ntt.c:92:44: error: argument 1 of type 'int16_t[256]' {aka 'short int[256]'} with mismatched bound [-Werror=array-parameter=]
92 | void PQCLEAN_KYBER51290S_CLEAN_ntt(int16_t poly[256]) {
| ~~~~~~~~^~~~~~~~~
In file included from /builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_90s_r2/ntt.c:1:
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_90s_r2/ntt.h:9:45: note: previously declared as 'int16_t *' {aka 'short int *'}
9 | void PQCLEAN_KYBER51290S_CLEAN_ntt(int16_t *poly);
| ~~~~~~~~~^~~~
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_90s_r2/ntt.c:116:47: error: argument 1 of type 'int16_t[256]' {aka 'short int[256]'} with mismatched bound [-Werror=array-parameter=]
116 | void PQCLEAN_KYBER51290S_CLEAN_invntt(int16_t poly[256]) {
| ~~~~~~~~^~~~~~~~~
In file included from /builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_90s_r2/ntt.c:1:
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_90s_r2/ntt.h:10:48: note: previously declared as 'int16_t *' {aka 'short int *'}
10 | void PQCLEAN_KYBER51290S_CLEAN_invntt(int16_t *poly);
| ~~~~~~~~~^~~~
cc1: all warnings being treated as errors
[ 37%] Building C object crt/aws-c-cal/CMakeFiles/aws-c-cal.dir/source/unix/opensslcrypto_hmac.c.o
gmake[3]: *** [crt/s2n/CMakeFiles/s2n.dir/build.make:1182: crt/s2n/CMakeFiles/s2n.dir/pq-crypto/kyber_90s_r2/ntt.c.o] Error 1
gmake[3]: *** Waiting for unfinished jobs....
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_r2/ntt.c:92:41: error: argument 1 of type 'int16_t[256]' {aka 'short int[256]'} with mismatched bound [-Werror=array-parameter=]
92 | void PQCLEAN_KYBER512_CLEAN_ntt(int16_t poly[256]) {
| ~~~~~~~~^~~~~~~~~
In file included from /builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_r2/ntt.c:1:
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_r2/ntt.h:9:42: note: previously declared as 'int16_t *' {aka 'short int *'}
9 | void PQCLEAN_KYBER512_CLEAN_ntt(int16_t *poly);
| ~~~~~~~~~^~~~
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_r2/ntt.c:116:44: error: argument 1 of type 'int16_t[256]' {aka 'short int[256]'} with mismatched bound [-Werror=array-parameter=]
116 | void PQCLEAN_KYBER512_CLEAN_invntt(int16_t poly[256]) {
| ~~~~~~~~^~~~~~~~~
In file included from /builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_r2/ntt.c:1:
/builddir/build/BUILD/php-pecl-awscrt-1.0.7/NTS/crt/aws-crt-ffi/crt/s2n/pq-crypto/kyber_r2/ntt.h:10:45: note: previously declared as 'int16_t *' {aka 'short int *'}
10 | void PQCLEAN_KYBER512_CLEAN_invntt(int16_t *poly);
| ~~~~~~~~~^~~~
cc1: all warnings being treated as errors
gmake[3]: *** [crt/s2n/CMakeFiles/s2n.dir/build.make:1322: crt/s2n/CMakeFiles/s2n.dir/pq-crypto/kyber_r2/ntt.c.o] Error 1
Fixed in recent versions
Since 1.2.0, package.xml states 5.5 is supported
PHP Warning: PHP Startup: Unable to load dynamic library '/builddir/build/BUILDROOT/php-pecl-awscrt-1.2.0-1.el7.remi.5.5.x86_64//usr/lib64/php/modules/awscrt.so' - /builddir/build/BUILDROOT/php-pecl-awscrt-1.2.0-1.el7.remi.5.5.x86_64//usr/lib64/php/modules/awscrt.so: undefined symbol: zend_error_noreturn in Unknown on line 0
zend_error_noreturn
was introduced, as public API in PHP 7.0
Don't know if it is worth to be fixed... probably simpler to set minimal version to 7.0
Ask on pecl devel mailing list
I did, not get any response for over a month...
Perhaps @cmb69 may help for that