Проблемы с компиляцией PHP - застрял в "Создание phar.phar"

Я столкнулся с проблемами при компиляции PHP из исходного кода на одном "немного индивидуальном" сервере Centos 6/cPanel. В целом это работало в прошлом, а сейчас - нет. Было много разных PHP, скомпилированных в этом окне, и без особых проблем. Прямо сейчас любая версия PHP застревает в:

'Generating phar.phar'.

Некоторый вывод:

Prerequisite `/root/php-7.0.13/ext/phar/phar/phar.inc' is older than target         `ext/phar/phar/phar.inc'.
  No need to remake target `ext/phar/phar/phar.inc'.
  Pruning file `/root/php-7.0.13/ext/phar/phar/clicommand.inc'.
  Pruning file `/root/php-7.0.13/ext/phar/phar/directorygraphiterator.inc'.
  Pruning file `/root/php-7.0.13/ext/phar/phar/directorytreeiterator.inc'.
  Pruning file `/root/php-7.0.13/ext/phar/phar/invertedregexiterator.inc'.
  Pruning file `/root/php-7.0.13/ext/phar/phar/pharcommand.inc'.
  Pruning file `/root/php-7.0.13/ext/phar/phar/phar.inc'.
  Pruning file `/root/php-7.0.13/ext/phar/phar/phar.php'.
  Pruning file `sapi/cli/php'.
  Finished prerequisites of target file ext/phar/phar.phar'.
  Must remake target ext/phar/phar.phar'.
  Putting child 0x022ef310 (ext/phar/phar.phar) PID 22348 on the chain.
  Live child 0x022ef310 (ext/phar/phar.phar) PID 22348 
  Generating phar.phar
  Reaping winning child 0x022ef310 PID 22348 
  Live child 0x022ef310 (ext/phar/phar.phar) PID 22349 
  Reaping winning child 0x022ef310 PID 22349 
  Live child 0x022ef310 (ext/phar/phar.phar) PID 22350 
  Reaping winning child 0x022ef310 PID 22350 
  Live child 0x022ef310 (ext/phar/phar.phar) PID 22351

Я пробовал make'ing и только 1 поток, и это не помогло.

После "чистого" изготовления:

Considering target file `/root/php-7.0.13/ext/phar/phar/phar.inc'.
  File `/root/php-7.0.13/ext/phar/phar/phar.inc' was considered already.
  Considering target file `/root/php-7.0.13/ext/phar/phar/phar.php'.
  File `/root/php-7.0.13/ext/phar/phar/phar.php' was considered already.
  Considering target file `sapi/cli/php'.
  File `sapi/cli/php' was considered already.
 Finished prerequisites of target file `ext/phar/phar.phar'.
 Must remake target `ext/phar/phar.phar'.
 Need a job token; we don't have children
 Putting child 0x00d53610 (ext/phar/phar.phar) PID 17444 on the chain.
 Commands of `ext/phar/phar.phar' are being run.
 Finished prerequisites of target file `pharcmd'.
 The prerequisites of `pharcmd' are being made.
 Finished prerequisites of target file `all'.
 The prerequisites of `all' are being made.
 Live child 0x00d53610 (ext/phar/phar.phar) PID 17444 
 Generating phar.phar
 Reaping winning child 0x00d53610 PID 17444 
 Live child 0x00d53610 (ext/phar/phar.phar) PID 17445 
 Reaping winning child 0x00d53610 PID 17445 
 Live child 0x00d53610 (ext/phar/phar.phar) PID 17446 
Reaping winning child 0x00d53610 PID 17446 
Live child 0x00d53610 (ext/phar/phar.phar) PID 17447

Я пытался использовать make-4.2 вместо default-3.81, но это ничего не меняет.

Некоторый вывод strace:

stat("/root/php-7.0.13/ext/phar/phar/phar.php", {st_mode=S_IFREG|0755,,st_size=992, ...}) = 0
stat("ext/phar/phar.phar", 0x7ffc5f1a4930) = -1 ENOENT (No such file or directory)
stat("ext/phar/phar/phar.inc", {st_mode=S_IFREG|0644, st_size=790, ...}) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 16875
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
stat("/root/php-7.0.13/ext/json/json_scanner.c", {st_mode=S_IFREG|0644,  st_size=29634, ...}) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL, 8) = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
vfork()                                 = 16877
fcntl(3, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(3, F_SETFD, 0)                    = 0
fcntl(4, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(4, F_SETFD, 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, Generating phar.phar
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 16877
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=16877, si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn()                          = 16877
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL, 8) = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
vfork()                                 = 16878
fcntl(3, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(3, F_SETFD, 0)                    = 0
fcntl(4, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(4, F_SETFD, 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 16878
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=16878,si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn()                          = 16878
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL, 8) = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
vfork()                                 = 16879
fcntl(3, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(3, F_SETFD, 0)                    = 0
fcntl(4, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(4, F_SETFD, 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 16879
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=16879, si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn()                          = 16879
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL, 8) = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
vfork()                                 = 16880
fcntl(3, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(3, F_SETFD, 0)                    = 0
fcntl(4, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
fcntl(4, F_SETFD, 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, 

1 ответ

Решение

Решение найдено, щас кажется простым, стыдно я его раньше не нашел. После связывания дочерних процессов он показал, что использует phar composer другой неработающей сборки PHP - и этот дочерний процесс завис из-за ошибок зависимостей библиотеки, поэтому рассматриваемый процесс ожидал. После указания на правильный бинарный файл все заработало.

Другие вопросы по тегам