git — сбой установки при установке php-libgit2 переполнение стека

Я пытаюсь установить libgit2 и php-git. Я успешно скачал и собрал libgit2.Однако я сталкиваюсь с проблемой при попытке установить php-git.

Вот как я пытаюсь установить его:

phpize
./configure --enable-git2-debug
make
make install

Там нет проблем с phpize. Однако, когда я использую make и make install, отображаются следующие ошибки:

./php_git2.h:180:3: error: unknown type name 'git_smart_subtransport'
git_smart_subtransport *smart_subtransport;

./helper.h:58:42: error: unknown type name 'git_checkout_opts'; did you mean 'git_checkout_options'?
void php_git2_git_checkout_opts_to_array(git_checkout_opts *opts, zval **out TSRMLS_DC);

/usr/local/include/git2/checkout.h:295:3: note: 'git_checkout_options' declared here
} git_checkout_options;
^~~~~~~~~~~~~~~~~

./helper.h:62:41: error: unknown type name 'git_checkout_opts'; did you mean 'git_checkout_options'?
int php_git2_array_to_git_checkout_opts(git_checkout_opts **out, zval *array TSRMLS_DC);
^~~~~~~~~~~~~~~~~
git_checkout_options

и есть еще ошибки. Почему это происходит?

0

Решение

Эти ошибки указывают на то, что заголовочные файлы для libgit2 не соответствуют версии, которую ожидают PHP-привязки.

Привязки имеют свою собственную версию libgit2, которую они связывают статически, поэтому ей не нужно / не нужно использовать версию, установленную в системе, но именно здесь читаются заголовочные файлы (как указано путями в выходных данных).

Похоже, это ошибка в php-git, что он читает системные заголовочные файлы для libgit2, но это корень проблемы. Привязки не хотят, чтобы вы установили libgit2 в вашей системе. Если вам не нужна система libgit2 для других целей, ее устранение должно решить проблему.

Вы должны сообщить об ошибке в проект php-git, так как она не работает, если в системе установлена ​​версия libgit2, что является ошибкой системы сборки в ее коде.

2

Другие решения

Я должен был быть более ясным. Похоже, он не находит libgit2.

0

По вопросам рекламы [email protected]