Ошибка git push — неопределенный символ: EVP_KDF_ctrl, версия OPENSSL_1_1_1b

У меня есть репозиторий git на внешнем жестком диске, смонтированный на /run/media/ /<имя_диска>. Когда я пытаюсь отправить код в онлайн-репозиторий github с помощью git push -u origin master, я получаю следующую ошибку:

/usr/bin/ssh: symbol lookup error: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
fatal: Could not read from remote repository.

Думая, что что-то не работает в krb5-libs или git, я попытался отправить другой другой репозиторий, расположенный в моей папке /home/, но это сработало.

Что плохого в размещении репозиториев на внешнем жестком диске? Как исправить предыдущую ошибку?

Я использую ядро ​​Fedora 32 5.6.18-300.fc32.x86_64.

0
23.06.2020, 19:50
2 ответа

Проблема, которую вы здесь видите, заключается в том, что версия библиотек Kerberos 5 и версия OpenSSL, которую вы используете, несовместимы.

В большинстве дистрибутивов OpenSSH скомпилирован с поддержкой Kerberos 5. Библиотеки, используемые для криптографии для Kerberos, в вашем случае связаны с OpenSSL.

Причина, по которой отправка в другой репозиторий в вашем домашнем каталоге работает, заключается в том, что Git не использует для этого команду ssh, и, следовательно, вы не видите никаких проблем. Если вы попытаетесь использовать sshдля входа в другую систему, вы увидите ту же проблему. Нет ничего принципиально плохого в том, чтобы хранить репозитории на другом диске; это отвлекающий маневр.

Сначала следует переустановить пакеты krb5-libsи opensslи посмотреть, работает ли это. Если вы установили какие-либо локальные копии OpenSSL или Kerberos (, посмотрите /usr/local/libи /usr/local/lib64), затем удалите их и запустите ldconfig.

Вам также может быть полезно запустить ldd $(which ssh), чтобы найти расположение любых библиотек, которые использует OpenSSH, и удалить все, что не поставляется Fedora.

3
18.03.2021, 23:25

Даже в «правильно» настроенных системах это и подобные сообщения об ошибках могут быть вызваны временными изменениями в системной среде. Это прерывистое поведение может сбивать с толку при устранении неполадок, но откат или предотвращение проблемных изменений среды должно решить проблему.

Примеры:

  • В системах SLURMmodule load-установка определенного программного обеспечения может привести к неправильной -настройке среды для git, что приведет к этой ошибке. Если загрузка модуля вызывает эту ошибку, module del <the_module>должен решить проблему.
  • Проблема OP была вызвана изменением переменных среды. «Свежий» терминальный сеанс (с исходной конфигурацией env )исправил проблему, равно как и возврат затронутых переменных среды.
1
08.06.2021, 20:39

Теги

Похожие вопросы