Judy Array errors on compilation under RHEL 6

125 views Asked by At

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 -s in =/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.

0

There are 0 answers