Errors with redis 2.4.16 and hiredis 0.10.1
igorw opened this issue · 5 comments
I get the following error:
dyld: lazy symbol binding failed: Symbol not found: _redisReaderCreate
Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20100525/phpiredis.so
Expected in: flat namespace
dyld: Symbol not found: _redisReaderCreate
Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20100525/phpiredis.so
Expected in: flat namespace
Trace/BPT trap: 5
I'm guessing the C API changed and phpiredis is not updated to it yet. If you have any solutions, that would be awesome.
The API still has the function redisReaderCreate https://github.com/antirez/hiredis/blob/master/hiredis.h
We recently made a change that libhiredis needs to be installed independently and phpiredis links it from your library. Do you have hiredis installed?
Thanks for the pointers. In /usr/local/lib I have this (installed hiredis via homebrew):
$ ls /usr/local/lib/libhiredis.*
/usr/local/lib/libhiredis.0.10.dylib
/usr/local/lib/libhiredis.a
/usr/local/lib/libhiredis.0.dylib
/usr/local/lib/libhiredis.dylib
I configured the extension with:
./configure --enable-phpiredis --with-hiredis-dir=/usr/local
Am I messing up the paths?
fix line 24 of config.m4:
PHP_EVAL_LIBLINE(-lhiredis, PHPIREDIS_SHARED_LIBADD)
I added that line to the source. @igorw can you confirm if that fixes the problem?
Awesome, works again! Thanks so much!