2016-07-24 5 views
0

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

Теперь, когда я пытаюсь клонировать репо на целевой системе через 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), так что я не вижу, в чем проблема с точки зрения версий. У кого-нибудь есть предложения, чтобы заставить его работать?

+1

_ «... похоже, имеет ту же версию ...» _ не внушает большой уверенности - наверняка самое первое, что вы попробуете, работает с _exact_ теми же библиотеками, которые вы создали против (или, наоборот, построение против точных библиотек из целевой файловой системы). Либо есть какая-то существенная разница между двумя копиями libcrypto.so, или есть что-то с Git, но тогда это два довольно разных вопроса. – Notlikethat

+1

'git' бесшумно терпит неудачу в своей конфигурации, а затем покататься на грузовике, как будто ничего не произошло. Вернитесь к началу. Оформить заказ или распаковать 'git'. Настроить 'git' для сборки. Затем, после настройки, вручную проверьте 'config.log' на наличие ошибок. Вероятно, вы найдете 3 или 4 из них, особенно если вы включили HTTPS через cURL. – jww

+0

@Notlikethat: как хост-система, так и цель имеют версию 1.0.0 libcrypto. Хост-система - это beaglebone, а целью является настраиваемая система, использующая buildroot. Я хотел искать другие проблемы, прежде чем просто копировать библиотеку beaglebone в цель. – SeanLabs

ответ

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