Как посмотреть, построен ли бинарный файл git против openssl или gnutls?
Я пытаюсь отладить странную проблему с git clone, протоколом https, одного конкретного репозитория, используя Ubuntu с корпоративным прокси. То же самое работает в CentOS, дистрибутивах Fedora, но не в Ubuntu или Debian в нашей среде.
Очевидно, что в пакетах Ubuntu git построен против gnutls, но на других платформах против openssl. Однако сборка из источников, даже в Ubuntu, использует openssl в соответствии с этим.
Есть ли способ для меня, чтобы проверить из данной установки git, против которой он скомпилирован? Какой-то вывод, что бы сказать мне?
Эти вопросы связаны между собой, но оба говорят об изменении его времени выполнения или времени сборки - на данный момент мне просто понадобится информация о том, какой это вопрос.
1 ответ
$ cd /usr/lib/git-core
$ ./git --version
git version 1.9.1
$ ldd git-http-fetch | grep libcurl
libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f8d5dcdf000)
$ cd /usr/libexec/git-core
$ ./git --version
git version 2.8.1
$ ldd git-http-fetch | grep libcurl
libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f6bd1e42000)
Так что, очевидно, и моя версия операционной системы, и моя скомпилированная версия против gnutls.
Редактировать: это то, как выглядит вывод openssl при запуске той же команды, нет libcurl-gnutls
, но
libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fe96267e000)