Skip to content
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

Extension fails to load when built with hiredis 0.14 on armv7h or x86_64: works on armv6h #63

Closed
gearhead opened this issue Feb 16, 2020 · 3 comments
Labels

Comments

@gearhead
Copy link
Contributor

All previous versions worked fine. Arch recently upgraded hiredis to 0.14.0-1. I built it for armv6 against php 7.4.3 and hiredis 0.14.0-1 and I can load and run the extension

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

When I build it for armv7h, I get an error:

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
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

If I revert the hiredis version to 0.13.3-2 (on both the build machine and the running machine) and re-build the extension, I get no error
Both the build machine and the machine I am using it on are 'up to date' with packages. I did a pacman -Syu on both machines and re-built the extension

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

Both the armv6h and armv7h kernel and hiredis extension are built using the same PKGBUILD file.

@gearhead
Copy link
Contributor Author

gearhead commented Feb 18, 2020

This package also builds but does not work on x86_64. It requires the same work-around: revert hiredis to 0.13.3. When built against this, all works. Curious that it works on armv6h, but not on armv7h or x86_64

@gearhead gearhead changed the title Extension fails to load when built with hiredis 0.14 on armv7h Extension fails to load when built with hiredis 0.14 on armv7h or x86_64: works on armv6h Feb 19, 2020
@nrk nrk added the hiredis label Aug 26, 2020
@gearhead
Copy link
Contributor Author

Ignore this issue. It is not relevant. Was a different version of hiredis between the builds when I reported it. Has been resolved on the Arch Linux side.

@nrk
Copy link
Owner

nrk commented Sep 20, 2020

Changes to support Hiredis >= 0.14, >= 1.0 have been merged in the v1.1 branch, the new minor release will be shipped in a few days is everything is fine. Thank you.

@nrk nrk closed this as completed Sep 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants