Recently, hiredis was upgraded from 0.13.3-2 to 0.14.0-1. I use this to build php-phiredis for use in a web based appliance.
https://github.com/nrk/phpiredis
with this AUR
https://aur.archlinux.org/packages/php-phpiredis-git/
phpiredis has not changed since 2016 and is at version 1.0.0. Well, I rebuilt the package with the new hiredis for armv7 and now I get an error:
$this->bbcode_second_pass_code('', 'PHP Warning: PHP Startup: Unable to load dynamic library 'phpiredis' (tried: /usr/lib/php/modules/phpiredis (/usr/lib/php/modules/phpiredis: cannot open shared object file: No such file or directory), /usr/lib/php/modules/phpiredis.so (/usr/lib/php/modules/phpiredis.so: undefined symbol: redisReplyReaderGetError)) in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library 'phpiredis' (tried: /usr/lib/php/modules/phpiredis (/usr/lib/php/modules/phpiredis: cannot open shared object file: No such file or directory), /usr/lib/php/modules/phpiredis.so (/usr/lib/php/modules/phpiredis.so: undefined symbol: redisReplyReaderGetError)) in Unknown on line 0
')
If I build this on the armv6 (RpiZero) it works fine with hiredis 0.14.0-1:
$this->bbcode_second_pass_code('', 'phpinfo()
PHP Version => 7.4.2
System => Linux runeaudio 4.19.102-1-ARCH #1 SMP PREEMPT Thu Feb 13 22:13:34 CST 2020 armv6l
Build Date => Jan 21 2020 19:19:29
...
phpiredis
phpiredis => enabled
phpiredis version => 1.0.0
hiredis version => 0.14.0')
I tried building hiredis 0.14.0-1 from the ARM PKGBUILD then building php-phpiredis and get the same result. The only way I can build php-phpiredis to work on the armv7 (Rpi2/3), up to date with all packages, is to downgrade hiredis to 0.13.3-2 then build php-phpiredis:
$this->bbcode_second_pass_code('', 'phpinfo()
PHP Version => 7.4.2
System => Linux livingrune 4.19.102-1-ARCH #1 SMP PREEMPT Sun Feb 9 19:07:08 UTC 2020 armv7l
Build Date => Jan 21 2020 19:19:33
...
phpiredis
phpiredis => enabled
phpiredis version => 1.0.0
hiredis version => 0.13.3')
Any idea what may be going on?