I have RHEL6 server, and try to compile Judy array library for php 5.3 .
- I got sources from sourceforge,
- installed rpm for judy,
- made link with
ln -sin =/usr/local/src/Judy-1.0.2/include to libJudy.so.1 that was installed with RPM. But there is also libJudy.so.1.0.3 ...should i do something for it.. - ran phpize for sources,
- ./configure --with-judy=/usr/local/src/Judy-1.0.2 (successfully). As i found from log of configuring it was serching for judy lib in include directory, so i made link to so exactly in there.
- make ...
and got lots of errors, like :
expected specifier-qualifier-list before ‘Pvoid_t’
...
conflicting types for ‘zend_judy_globals’
and many others.
I made a strace log of the make process, and found this :
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/make.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/make.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/make.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/make.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/make.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/make.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "make: ", 6) = 6
write(2, "*** [php_judy.lo] Error 1", 25) = 25
write(2, "\n", 1) = 1
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
chdir("/usr/local/src/Judy-1.0.2") = 0
close(1) = 0
munmap(0x7f67e7b3f000, 4096) = 0
exit_group(2) = ?
This Is the end of the log. I stucked on this place. I'm not expert in C compiling unfortunately( .
In the terminal I see this :
/usr/local/src/Judy-1.0.2/php_judy.h:84: error: redefinition of ‘struct _judy_object’
/usr/local/src/Judy-1.0.2/php_judy.h:87: error: expected specifier-qualifier-list before ‘Pvoid_t’
/usr/local/src/Judy-1.0.2/php_judy.h:91: error: conflicting types for ‘judy_object’
/usr/local/src/Judy-1.0.2/php_judy.h:91: note: previous declaration of ‘judy_object’ was here
/usr/local/src/Judy-1.0.2/php_judy.h:102: error: conflicting types for ‘judy_object_new_ex’
/usr/local/src/Judy-1.0.2/php_judy.h:102: note: previous declaration of ‘judy_object_new_ex’ was here
/usr/local/src/Judy-1.0.2/php_judy.h:114: error: redefinition of ‘struct _zend_judy_globals’
/usr/local/src/Judy-1.0.2/php_judy.h:116: error: conflicting types for ‘zend_judy_globals’
/usr/local/src/Judy-1.0.2/php_judy.h:116: note: previous declaration of ‘zend_judy_globals’ was here
/usr/local/src/Judy-1.0.2/php_judy.h:118: error: conflicting types for ‘judy_globals’
/usr/local/src/Judy-1.0.2/php_judy.h:118: note: previous declaration of ‘judy_globals’ was here
In file included from /usr/local/src/Judy-1.0.2/judy_iterator.h:22,
from /usr/local/src/Judy-1.0.2/php_judy.c:26:
/usr/local/src/Judy-1.0.2/php_judy.h:129:2: error: #endif without #if
/usr/local/src/Judy-1.0.2/php_judy.c:29: error: conflicting types for ‘judy_globals’
/usr/local/src/Judy-1.0.2/php_judy.h:118: note: previous declaration of ‘judy_globals’ was here
/usr/local/src/Judy-1.0.2/php_judy.c:55: error: conflicting types for ‘judy_object_new_ex’
/usr/local/src/Judy-1.0.2/php_judy.h:102: note: previous declaration of ‘judy_object_new_ex’ was here
/usr/local/src/Judy-1.0.2/php_judy.c: In function ‘judy_object_new_ex’:
/usr/local/src/Judy-1.0.2/php_judy.c:69: error: ‘judy_object’ has no member named ‘next_empty_is_valid’
/usr/local/src/Judy-1.0.2/php_judy.c:70: error: ‘judy_object’ has no member named ‘next_empty’
/usr/local/src/Judy-1.0.2/php_judy.c: In function ‘judy_object_read_dimension_helper’:
/usr/local/src/Judy-1.0.2/php_judy.c:145: error: ‘Word_t’ undeclared (first use in this function)
/usr/local/src/Judy-1.0.2/php_judy.c:145: error: (Each undeclared identifier is reported only once
/usr/local/src/Judy-1.0.2/php_judy.c:145: error: for each function it appears in.)
/usr/local/src/Judy-1.0.2/php_judy.c:145: error: expected ‘;’ before ‘j_index’
/usr/local/src/Judy-1.0.2/php_judy.c:146: error: ‘Pvoid_t’ undeclared (first use in this function)
/usr/local/src/Judy-1.0.2/php_judy.c:146: error: ‘PValue’ undeclared (first use in this function)
Can anyone tell what to look for? I found that this is a problems of translations.. but why? what? how? .. ahr( Please, tell me if you've had similar issue.