Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2016
Помог: 0 раз(а)
|
Добрый день всем.
перед собственно вопросом...был удивлен что мой аккаунт удален, види мо давно не заходил сюда)
Проблема:
У меня запущен сервер Redhat 6 linux, (Apache, nginx, php 5.3 ...), и я пытаюсь собрать библиотеку Judy array для php 5.3 .
Что я сделал:
• Скачал исходники с sourceforge,
• Установил rpm для judy,
• сделал линк на библиотеку Judy "ln -s" в директории /usr/local/src/Judy-1.0.2/includ e на саму libJudy.so.1, которая была установлена через RPM. Но там так же есть libJudy.so.1.0.3 .. нужно ли с ней что либо делать...
•запустил phpize для исходников,
•./configure --with-judy=/usr/local/src/Judy- 1.0.2 (successfully).
•make ...
В итоге конфигурация вроде как прошла успешно, но при сборке вылетели ошибки компилятора:
И много других. Я сделал strace процесса и получил следующее:
Спойлер (Отобразить)CODE ( htmlphp):
скопировать код в буфер обмена
..... brk(0x2537000) = 0x2537000 open("/usr/lib/locale/locale-archive", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=99158576, ...}) = 0 mmap(NULL, 99158576, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f67e1c9e000 close(3) = 0 rt_sigaction(SIGHUP, {0x4035e0, [HUP], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGQUIT, {0x4035e0, [QUIT], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {0x4035e0, [INT], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGTERM, {0x4035e0, [TERM], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGXCPU, {0x4035e0, [XCPU], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGXFSZ, {0x4035e0, [XFSZ], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 getcwd("/usr/local/src/Judy-1.0.2", 4096) = 26 stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 stat("/usr/gnu/include", 0x7ffcfbddbdd0) = -1 ENOENT (No such file or directory) stat("/usr/local/include", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 rt_sigaction(SIGCHLD, {0x40cbf0, [CHLD], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, 8) = 0 rt_sigaction(SIGUSR1, {0x40e6f0, [USR1], SA_RESTORER|SA_RESTART, 0x3eff2326a0}, {SIG_DFL, [], 0}, 8) = 0 stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3 fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) getdents(3, /* 46 entries */, 32768) = 1552 getdents(3, /* 0 entries */, 32768) = 0 close(3) = 0 open("Makefile", O_RDONLY) = 3 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat(3, {st_mode=S_IFREG|0644, st_size=8466, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f67e7b3f000 lseek(3, 0, SEEK_CUR) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 read(3, "srcdir = /usr/local/src/Judy-1.0"..., 4096) = 4096 read(3, "(PHP_PECL_EXTENSION)/##g\"`; \\\n\t\t"..., 4096) = 4096 read(3, "ed_objects_judy) $(JUDY_SHARED_D"..., 4096) = 274 read(3, "", 4096) = 0 close(3) = 0 munmap(0x7f67e7b3f000, 4096) = 0 stat("RCS", 0x7ffcfbddbd00) = -1 ENOENT (No such file or directory) stat("SCCS", 0x7ffcfbddbd00) = -1 ENOENT (No such file or directory) stat("Makefile", {st_mode=S_IFREG|0644, st_size=8466, ...}) = 0 stat("/usr/local/src/Judy-1.0.2/modules/judy.la", 0x7ffcfbdd9c30) = -1 ENOENT (No such file or directory) stat("judy.la", 0x7ffcfbdd9b20) = -1 ENOENT (No such file or directory) stat("php_judy.lo", 0x7ffcfbdd9a10) = -1 ENOENT (No such file or directory) stat("/usr/local/src/Judy-1.0.2/php_judy.c", {st_mode=S_IFREG|0644, st_size=34291, ...}) = 0 stat("/usr/local/src/Judy-1.0.2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/usr/local/src/Judy-1.0.2/RCS", 0x7ffcfbdda3e0) = -1 ENOENT (No such file or directory) stat("/usr/local/src/Judy-1.0.2/SCCS", 0x7ffcfbdda3e0) = -1 ENOENT (No such file or directory) brk(0x2558000) = 0x2558000 brk(0x2557000) = 0x2557000 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f67e7b3f000 write(1, "/bin/sh /usr/local/src/Judy-1.0."..., 506) = 506 pipe([3, 4]) = 0 close(4) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL, 8) = 0 vfork() = 30489 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 30489 --- SIGCHLD (Child exited) @ 0 (0) --- rt_sigreturn(0xffffffff) = 30489 open("/usr/share/locale/locale.alias", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=2512, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f67e7b3e000 read(4, "# Locale name alias data base.\n#"..., 4096) = 2512 read(4, "", 4096) = 0 close(4) = 0 munmap(0x7f67e7b3e000, 4096) = 0 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) = ?
При этом в терминале пишет про типы, переприсваивания и прочее :
Спойлер (Отобразить)CODE ( htmlphp):
скопировать код в буфер обмена
/usr /local /src /Judy -1 .0 .2 /php_judy .h :82 : note : previous declaration of ‘ array’ was here /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/lib64/ файл libJudy.so.1 является ссылкой.
соответственно в этом месте вроде все корректно я сделал.(Отредактировано автором: 21 Января, 2016 - 13:06:04)
|