Компиляция git для armhf — обнаружение libcrypto.so.1.0.0: информация о версии отсутствует (требуется git)

Я пытаюсь запустить git в моей системе на основе armhf BuildRoot. Поскольку git отсутствует в BuildRoot, я перешел к своей другой системе armhf на основе Debian и скомпилировал ее из исходного кода с помощью make prefix=/usr CFLAGS="${CFLAGS} -static-libgcc" (мне нужен статический двоичный файл). Затем я заархивировал этот двоичный файл и файлы в /usr/share/git-core и разархивировал его в системе на основе armhf BuildRoot.

Теперь, когда я пытаюсь клонировать репо. в целевой системе через https я получаю эту ошибку:

git: /usr/lib/libcrypto.so.1.0.0: no version information available (required by git)
Cloning into 'test_repo'...
fatal: Unable to find remote helper for 'https'

И моя система сборки armhf, и цель, похоже, имеют одну и ту же версию libcrypto.so (то есть 1.0.0), поэтому я не вижу, в чем проблема с точки зрения версий. У кого-нибудь есть предложения, чтобы заставить его работать?


person SeanLabs    schedule 24.07.2016    source источник
comment
...похоже, у него та же версия... не внушает особого доверия - конечно же, самое первое, что вы попробуете, это запустить с точной те же библиотеки, с которыми вы строили (или, наоборот, строите с точными библиотеками из целевой файловой системы). Либо есть какая-то существенная разница между двумя копиями libcrypto.so, либо что-то не так с Git, но тогда это два довольно разных вопроса.   -  person Notlikethat    schedule 25.07.2016
comment
git молча выйдет из строя в своей конфигурации, а затем продолжит работу как ни в чем не бывало. Вернитесь к началу. Оформите заказ или распакуйте git. Настройтеgit для сборки. Затем, после настройки, вручную проверьте config.log на наличие ошибок. Скорее всего, вы найдете 3 или 4 из них, особенно если вы включили HTTPS через cURL.   -  person jww    schedule 25.07.2016
comment
@Notlikethat: и хост-система, и цель имеют версию 1.0.0 libcrypto. Хост-система — это бигльбон, а целевая — пользовательская система, использующая buildroot. Я хотел найти другие проблемы, прежде чем просто скопировать библиотеку бигльбона в цель.   -  person SeanLabs    schedule 25.07.2016
comment
... это моя точка зрения. Номинально это одна и та же версия, но на самом деле идентичны ли конфигурации? Я хочу попытаться диагностировать причину проблемы, предположив, прежде чем пытаться действительно быстрый и простой тест, который бы окончательно сузил ее, так или иначе, кажется, что это не самая эффективная стратегия отладки.   -  person Notlikethat    schedule 25.07.2016
comment
Вот один из них, который мне помог: stackoverflow.com/questions/18390833/   -  person Jack    schedule 03.03.2018


Ответы (1)


  1. Если вы хотите иметь статический двоичный файл, используйте опцию -static linker (то есть LDFLAGS).
  2. «нет доступной информации о версии» не является большой проблемой в большинстве случаев, просто ваша libcrypto библиотека не имеет доступной информации о версиях символов (как в разделе VERDEF ELF).
  3. Ваша реальная проблема заключается в том, что у вашего git нет вспомогательной программы git-remote-https (которая обычно представляет собой просто символическую ссылку на git-remote-http), которая должна быть где-то в папке /usr/lib/git-core/.
  4. Но из того, что я вижу, уже есть пакет git для BuildRoot, поэтому лучше всего просто использовать это.
person Roman Khimov    schedule 09.08.2016