{"action":"created","issue":{"url":"https://api.github.com/repos/nrk/phpiredis/issues/40","labels_url":"https://api.github.com/repos/nrk/phpiredis/issues/40/labels{/name}","comments_url":"https://api.github.com/repos/nrk/phpiredis/issues/40/comments","events_url":"https://api.github.com/repos/nrk/phpiredis/issues/40/events","html_url":"https://github.com/nrk/phpiredis/issues/40","id":69149430,"number":40,"title":"Error building against PHP 5.6.8","user":{"login":"JonLundy","id":821826,"avatar_url":"https://avatars.githubusercontent.com/u/821826?v=3","gravatar_id":"","url":"https://api.github.com/users/JonLundy","html_url":"https://github.com/JonLundy","followers_url":"https://api.github.com/users/JonLundy/followers","following_url":"https://api.github.com/users/JonLundy/following{/other_user}","gists_url":"https://api.github.com/users/JonLundy/gists{/gist_id}","starred_url":"https://api.github.com/users/JonLundy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JonLundy/subscriptions","organizations_url":"https://api.github.com/users/JonLundy/orgs","repos_url":"https://api.github.com/users/JonLundy/repos","events_url":"https://api.github.com/users/JonLundy/events{/privacy}","received_events_url":"https://api.github.com/users/JonLundy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-04-17T14:27:26Z","updated_at":"2015-04-29T16:52:44Z","closed_at":null,"body":"PHP Api Version:         20131106\r\nZend Module Api No:      20131226\r\nZend Extension Api No:   220131226\r\n\r\n\r\nchecking for grep that handles long lines and -e... /bin/grep\r\nchecking for egrep... /bin/grep -E\r\nchecking for a sed that does not truncate output... /bin/sed\r\nchecking for cc... cc\r\nchecking whether the C compiler works... yes\r\nchecking for C compiler default output file name... a.out\r\nchecking for suffix of executables... \r\nchecking whether we are cross compiling... no\r\nchecking for suffix of object files... o\r\nchecking whether we are using the GNU C compiler... yes\r\nchecking whether cc accepts -g... yes\r\nchecking for cc option to accept ISO C89... none needed\r\nchecking how to run the C preprocessor... cc -E\r\nchecking for icc... no\r\nchecking for suncc... no\r\nchecking whether cc understands -c and -o together... yes\r\nchecking for system library directory... lib\r\nchecking if compiler supports -R... no\r\nchecking if compiler supports -Wl,-rpath,... yes\r\nchecking build system type... x86_64-unknown-linux-gnu\r\nchecking host system type... x86_64-unknown-linux-gnu\r\nchecking target system type... x86_64-unknown-linux-gnu\r\nchecking for PHP prefix... /opt/local\r\nchecking for PHP includes... -I/opt/local/include/php -I/opt/local/include/php/main -I/opt/local/include/php/TSRM -I/opt/local/include/php/Zend -I/opt/local/include/php/ext -I/opt/local/include/php/ext/date/lib\r\nchecking for PHP extension directory... /opt/local/lib/php/extensions/no-debug-non-zts-20131226\r\nchecking for PHP installed headers prefix... /opt/local/include/php\r\nchecking if debug is enabled... no\r\nchecking if zts is enabled... no\r\nchecking for re2c... no\r\nconfigure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.\r\nchecking for gawk... no\r\nchecking for nawk... nawk\r\nchecking if nawk is broken... no\r\nchecking whether to enable phpiredis support... yes, shared\r\nchecking for hiredis library... yes, shared\r\nchecking for hiredis installation... found in /opt/local\r\nchecking for ld used by cc... /usr/bin/ld\r\nchecking if the linker (/usr/bin/ld) is GNU ld... yes\r\nchecking for /usr/bin/ld option to reload object files... -r\r\nchecking for BSD-compatible nm... /usr/bin/nm -B\r\nchecking whether ln -s works... yes\r\nchecking how to recognize dependent libraries... pass_all\r\nchecking for ANSI C header files... yes\r\nchecking for sys/types.h... yes\r\nchecking for sys/stat.h... yes\r\nchecking for stdlib.h... yes\r\nchecking for string.h... yes\r\nchecking for memory.h... yes\r\nchecking for strings.h... yes\r\nchecking for inttypes.h... yes\r\nchecking for stdint.h... yes\r\nchecking for unistd.h... yes\r\nchecking dlfcn.h usability... yes\r\nchecking dlfcn.h presence... yes\r\nchecking for dlfcn.h... yes\r\nchecking the maximum length of command line arguments... 1572864\r\nchecking command to parse /usr/bin/nm -B output from cc object... ok\r\nchecking for objdir... .libs\r\nchecking for ar... ar\r\nchecking for ranlib... ranlib\r\nchecking for strip... strip\r\nchecking if cc supports -fno-rtti -fno-exceptions... no\r\nchecking for cc option to produce PIC... -fPIC\r\nchecking if cc PIC flag -fPIC works... yes\r\nchecking if cc static flag -static works... yes\r\nchecking if cc supports -c -o file.o... yes\r\nchecking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes\r\nchecking whether -lc should be explicitly linked in... no\r\nchecking dynamic linker characteristics... GNU/Linux ld.so\r\nchecking how to hardcode library paths into programs... immediate\r\nchecking whether stripping libraries is possible... yes\r\nchecking if libtool supports shared libraries... yes\r\nchecking whether to build shared libraries... yes\r\nchecking whether to build static libraries... no\r\n\r\ncreating libtool\r\nappending configuration tag \"CXX\" to libtool\r\nconfigure: creating ./config.status\r\nconfig.status: creating config.h\r\n/bin/bash /tmp/phpiredis/libtool --mode=compile cc  -I. -I/tmp/phpiredis -DPHP_ATOM_INC -I/tmp/phpiredis/include -I/tmp/phpiredis/main -I/tmp/phpiredis -I/opt/local/include/php -I/opt/local/include/php/main -I/opt/local/include/php/TSRM -I/opt/local/include/php/Zend -I/opt/local/include/php/ext -I/opt/local/include/php/ext/date/lib -I/opt/local/include  -DHAVE_CONFIG_H  -g -O2   -c /tmp/phpiredis/phpiredis.c -o phpiredis.lo \r\nmkdir .libs\r\n cc -I. -I/tmp/phpiredis -DPHP_ATOM_INC -I/tmp/phpiredis/include -I/tmp/phpiredis/main -I/tmp/phpiredis -I/opt/local/include/php -I/opt/local/include/php/main -I/opt/local/include/php/TSRM -I/opt/local/include/php/Zend -I/opt/local/include/php/ext -I/opt/local/include/php/ext/date/lib -I/opt/local/include -DHAVE_CONFIG_H -g -O2 -c /tmp/phpiredis/phpiredis.c  -fPIC -DPIC -o .libs/phpiredis.o\r\n/opt/local/include/hiredis/hiredis.h:158:7: error: expected identifier or '(' before numeric constant\r\n     } unix;\r\n       ^\r\nIn file included from /tmp/phpiredis/phpiredis.c:1:0:\r\n/opt/local/include/hiredis/hiredis.h:160:1: warning: no semicolon at end of struct or union [enabled by default]\r\n } redisContext;\r\n ^\r\n/tmp/phpiredis/phpiredis.c: In function 'zif_phpiredis_multi_command':\r\n/tmp/phpiredis/phpiredis.c:224:9: warning: passing argument 2 of 'redisGetReply' from incompatible pointer type [enabled by default]\r\n         if (redisGetReply(connection->c, &reply) != REDIS_OK) {\r\n         ^\r\nIn file included from /tmp/phpiredis/phpiredis.c:1:0:\r\n/opt/local/include/hiredis/hiredis.h:196:5: note: expected 'void **' but argument is of type 'struct redisReply **'\r\n int redisGetReply(redisContext *c, void **reply);\r\n     ^\r\n/tmp/phpiredis/phpiredis.c: In function 'zif_phpiredis_multi_command_bs':\r\n/tmp/phpiredis/phpiredis.c:294:9: warning: passing argument 3 of 'redisAppendCommandArgv' from incompatible pointer type [enabled by default]\r\n         redisAppendCommandArgv(connection->c, cmdSize, cmdElements, cmdElementslen);\r\n         ^\r\nIn file included from /tmp/phpiredis/phpiredis.c:1:0:\r\n/opt/local/include/hiredis/hiredis.h:207:5: note: expected 'const char **' but argument is of type 'char **'\r\n int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);\r\n     ^\r\n/tmp/phpiredis/phpiredis.c:313:9: warning: passing argument 2 of 'redisGetReply' from incompatible pointer type [enabled by default]\r\n         if (redisGetReply(connection->c, &reply) != REDIS_OK) {\r\n         ^\r\nIn file included from /tmp/phpiredis/phpiredis.c:1:0:\r\n/opt/local/include/hiredis/hiredis.h:196:5: note: expected 'void **' but argument is of type 'struct redisReply **'\r\n int redisGetReply(redisContext *c, void **reply);\r\n     ^\r\n/tmp/phpiredis/phpiredis.c: In function 'zif_phpiredis_command':\r\n/tmp/phpiredis/phpiredis.c:352:9: warning: format not a string literal and no format arguments [-Wformat-security]\r\n         php_error_docref(NULL TSRMLS_CC, E_WARNING, reply->str);\r\n         ^\r\n/tmp/phpiredis/phpiredis.c: In function 'zif_phpiredis_command_bs':\r\n/tmp/phpiredis/phpiredis.c:420:5: warning: passing argument 3 of 'redisAppendCommandArgv' from incompatible pointer type [enabled by default]\r\n     redisAppendCommandArgv(connection->c, argc, argv, (const size_t *) argvlen);\r\n     ^\r\nIn file included from /tmp/phpiredis/phpiredis.c:1:0:\r\n/opt/local/include/hiredis/hiredis.h:207:5: note: expected 'const char **' but argument is of type 'char **'\r\n int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);\r\n     ^\r\n/tmp/phpiredis/phpiredis.c:428:5: warning: passing argument 2 of 'redisGetReply' from incompatible pointer type [enabled by default]\r\n     if (redisGetReply(connection->c, &reply) != REDIS_OK) {\r\n     ^\r\nIn file included from /tmp/phpiredis/phpiredis.c:1:0:\r\n/opt/local/include/hiredis/hiredis.h:196:5: note: expected 'void **' but argument is of type 'struct redisReply **'\r\n int redisGetReply(redisContext *c, void **reply);\r\n     ^\r\n/tmp/phpiredis/phpiredis.c: In function 'zif_phpiredis_format_command':\r\n/tmp/phpiredis/phpiredis.c:487:5: warning: passing argument 3 of 'redisFormatCommandArgv' from incompatible pointer type [enabled by default]\r\n     cmdlen = redisFormatCommandArgv(&cmd, size, elements, elementslen);\r\n     ^\r\nIn file included from /tmp/phpiredis/phpiredis.c:1:0:\r\n/opt/local/include/hiredis/hiredis.h:128:5: note: expected 'const char **' but argument is of type 'char **'\r\n int redisFormatCommandArgv(char **target, int argc, const char **argv, const size_t *argvlen);\r\n     ^\r\nmake: *** [phpiredis.lo] Error 1\r\n"},"comment":{"url":"https://api.github.com/repos/nrk/phpiredis/issues/comments/97502878","html_url":"https://github.com/nrk/phpiredis/issues/40#issuecomment-97502878","issue_url":"https://api.github.com/repos/nrk/phpiredis/issues/40","id":97502878,"user":{"login":"rshepherd","id":364779,"avatar_url":"https://avatars.githubusercontent.com/u/364779?v=3","gravatar_id":"","url":"https://api.github.com/users/rshepherd","html_url":"https://github.com/rshepherd","followers_url":"https://api.github.com/users/rshepherd/followers","following_url":"https://api.github.com/users/rshepherd/following{/other_user}","gists_url":"https://api.github.com/users/rshepherd/gists{/gist_id}","starred_url":"https://api.github.com/users/rshepherd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rshepherd/subscriptions","organizations_url":"https://api.github.com/users/rshepherd/orgs","repos_url":"https://api.github.com/users/rshepherd/repos","events_url":"https://api.github.com/users/rshepherd/events{/privacy}","received_events_url":"https://api.github.com/users/rshepherd/received_events","type":"User","site_admin":false},"created_at":"2015-04-29T16:52:44Z","updated_at":"2015-04-29T16:52:44Z","body":"My hypothesis seems to be holding up. I tried to build phpiredis on hiredis 0.12.1 and now I am able to build the module, however there are a number of warnings. \r\n\r\nMost of them seem like they are probably benign , but I am not a C expert. I may try going back another version or two of hiredis and see if I can get a clean compile.\r\n\r\n```\r\n/bin/bash /usr/local/share/phpiredis/libtool --mode=compile cc  -I. -I/usr/local/share/phpiredis -DPHP_ATOM_INC -I/usr/local/share/phpiredis/include -I/usr/local/share/phpiredis/main -I/usr/local/share/phpiredis -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -I/usr/local/include  -DHAVE_CONFIG_H  -g -O2   -c /usr/local/share/phpiredis/phpiredis.c -o phpiredis.lo\r\nlibtool: compile:  cc -I. -I/usr/local/share/phpiredis -DPHP_ATOM_INC -I/usr/local/share/phpiredis/include -I/usr/local/share/phpiredis/main -I/usr/local/share/phpiredis -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -I/usr/local/include -DHAVE_CONFIG_H -g -O2 -c /usr/local/share/phpiredis/phpiredis.c  -fPIC -DPIC -o .libs/phpiredis.o\r\n/usr/local/share/phpiredis/phpiredis.c: In function 'zif_phpiredis_multi_command':\r\n/usr/local/share/phpiredis/phpiredis.c:224:9: warning: passing argument 2 of 'redisGetReply' from incompatible pointer type [enabled by default]\r\n         if (redisGetReply(connection->c, &reply) != REDIS_OK) {\r\n         ^\r\nIn file included from /usr/local/share/phpiredis/phpiredis.c:1:0:\r\n/usr/local/include/hiredis/hiredis.h:163:5: note: expected 'void **' but argument is of type 'struct redisReply **'\r\n int redisGetReply(redisContext *c, void **reply);\r\n     ^\r\n/usr/local/share/phpiredis/phpiredis.c: In function 'zif_phpiredis_multi_command_bs':\r\n/usr/local/share/phpiredis/phpiredis.c:294:9: warning: passing argument 3 of 'redisAppendCommandArgv' from incompatible pointer type [enabled by default]\r\n         redisAppendCommandArgv(connection->c, cmdSize, cmdElements, cmdElementslen);\r\n         ^\r\nIn file included from /usr/local/share/phpiredis/phpiredis.c:1:0:\r\n/usr/local/include/hiredis/hiredis.h:174:5: note: expected 'const char **' but argument is of type 'char **'\r\n int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);\r\n     ^\r\n/usr/local/share/phpiredis/phpiredis.c:313:9: warning: passing argument 2 of 'redisGetReply' from incompatible pointer type [enabled by default]\r\n         if (redisGetReply(connection->c, &reply) != REDIS_OK) {\r\n         ^\r\nIn file included from /usr/local/share/phpiredis/phpiredis.c:1:0:\r\n/usr/local/include/hiredis/hiredis.h:163:5: note: expected 'void **' but argument is of type 'struct redisReply **'\r\n int redisGetReply(redisContext *c, void **reply);\r\n     ^\r\n/usr/local/share/phpiredis/phpiredis.c: In function 'zif_phpiredis_command':\r\n/usr/local/share/phpiredis/phpiredis.c:352:9: warning: format not a string literal and no format arguments [-Wformat-security]\r\n         php_error_docref(NULL TSRMLS_CC, E_WARNING, reply->str);\r\n         ^\r\n/usr/local/share/phpiredis/phpiredis.c: In function 'zif_phpiredis_command_bs':\r\n/usr/local/share/phpiredis/phpiredis.c:420:5: warning: passing argument 3 of 'redisAppendCommandArgv' from incompatible pointer type [enabled by default]\r\n     redisAppendCommandArgv(connection->c, argc, argv, (const size_t *) argvlen);\r\n     ^\r\nIn file included from /usr/local/share/phpiredis/phpiredis.c:1:0:\r\n/usr/local/include/hiredis/hiredis.h:174:5: note: expected 'const char **' but argument is of type 'char **'\r\n int redisAppendCommandArgv(redisContext *c, int argc, const char **argv, const size_t *argvlen);\r\n     ^\r\n/usr/local/share/phpiredis/phpiredis.c:428:5: warning: passing argument 2 of 'redisGetReply' from incompatible pointer type [enabled by default]\r\n     if (redisGetReply(connection->c, &reply) != REDIS_OK) {\r\n     ^\r\nIn file included from /usr/local/share/phpiredis/phpiredis.c:1:0:\r\n/usr/local/include/hiredis/hiredis.h:163:5: note: expected 'void **' but argument is of type 'struct redisReply **'\r\n int redisGetReply(redisContext *c, void **reply);\r\n     ^\r\n/usr/local/share/phpiredis/phpiredis.c: In function 'zif_phpiredis_format_command':\r\n/usr/local/share/phpiredis/phpiredis.c:487:5: warning: passing argument 3 of 'redisFormatCommandArgv' from incompatible pointer type [enabled by default]\r\n     cmdlen = redisFormatCommandArgv(&cmd, size, elements, elementslen);\r\n     ^\r\nIn file included from /usr/local/share/phpiredis/phpiredis.c:1:0:\r\n/usr/local/include/hiredis/hiredis.h:126:5: note: expected 'const char **' but argument is of type 'char **'\r\n int redisFormatCommandArgv(char **target, int argc, const char **argv, const size_t *argvlen);\r\n     ^\r\n/bin/bash /usr/local/share/phpiredis/libtool --mode=link cc -DPHP_ATOM_INC -I/usr/local/share/phpiredis/include -I/usr/local/share/phpiredis/main -I/usr/local/share/phpiredis -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -I/usr/local/include  -DHAVE_CONFIG_H  -g -O2   -o phpiredis.la -export-dynamic -avoid-version -prefer-pic -module -rpath /usr/local/share/phpiredis/modules  phpiredis.lo -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lhiredis\r\nlibtool: link: cc -shared  -fPIC -DPIC  .libs/phpiredis.o   -L/usr/local/lib -lhiredis  -O2 -Wl,-rpath -Wl,/usr/local/lib   -Wl,-soname -Wl,phpiredis.so -o .libs/phpiredis.so\r\nlibtool: link: ( cd \".libs\" && rm -f \"phpiredis.la\" && ln -s \"../phpiredis.la\" \"phpiredis.la\" )\r\n/bin/bash /usr/local/share/phpiredis/libtool --mode=install cp ./phpiredis.la /usr/local/share/phpiredis/modules\r\nlibtool: install: cp ./.libs/phpiredis.so /usr/local/share/phpiredis/modules/phpiredis.so\r\nlibtool: install: cp ./.libs/phpiredis.lai /usr/local/share/phpiredis/modules/phpiredis.la\r\nlibtool: finish: PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/sbin\" ldconfig -n /usr/local/share/phpiredis/modules\r\n----------------------------------------------------------------------\r\nLibraries have been installed in:\r\n   /usr/local/share/phpiredis/modules\r\n\r\nIf you ever happen to want to link against installed libraries\r\nin a given directory, LIBDIR, you must either use libtool, and\r\nspecify the full pathname of the library, or use the `-LLIBDIR'\r\nflag during linking and do at least one of the following:\r\n   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable\r\n     during execution\r\n   - add LIBDIR to the `LD_RUN_PATH' environment variable\r\n     during linking\r\n   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag\r\n   - have your system administrator add LIBDIR to `/etc/ld.so.conf'\r\n\r\nSee any operating system documentation about shared libraries for\r\nmore information, such as the ld(1) and ld.so(8) manual pages.\r\n----------------------------------------------------------------------\r\n\r\nBuild complete.\r\nDon't forget to run 'make test'.\r\n```\r\n\r\n\r\n"}}