git 푸시 오류 - 정의되지 않은 기호: EVP_KDF_ctrl, 버전 OPENSSL_1_1_1b

git 푸시 오류 - 정의되지 않은 기호: EVP_KDF_ctrl, 버전 OPENSSL_1_1_1b

외장 하드 드라이브에 git 저장소가 설치되어 있습니다 /run/media/<myusername>/<drivename>. 코드를 온라인 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.

/home/<username>krb5-libs 또는 git에서 문제가 발생했다고 생각하여 내 폴더에 있는 다른 저장소 로 푸시를 시도했는데 제대로 작동했습니다.

외장 하드 드라이브에 저장소를 배치하는 데 문제가 있습니까? 이전 오류를 어떻게 수정할 수 있나요?

저는 Fedora 32 커널 5.6.18-300.fc32.x86_64를 사용하고 있습니다.

답변1

여기서 보고 있는 문제는 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에서 제공하지 않는 라이브러리를 제거하는 것도 도움이 될 수 있습니다 .

답변2

"올바르게" 구성된 시스템에서도 시스템 환경의 일시적인 변경으로 인해 이와 유사한 오류 메시지가 발생할 수 있습니다. 이러한 간헐적인 동작으로 인해 문제 해결이 혼란스러울 수 있지만 문제가 되는 환경 변경을 되돌리거나 피하면 문제가 해결됩니다.

예:

  • SLURM 시스템에서 module load일부 소프트웨어는 git 환경을 잘못 구성하여 이 오류를 일으킬 수 있습니다. 모듈을 로드할 때 이 오류가 발생하면 module del <the_module>문제가 해결됩니다.
  • OP의 문제는 환경 변수 수정으로 인해 발생합니다. 원래 환경 구성을 사용한 "새" 터미널 세션을 통해 문제가 수정되었으며 영향을 받은 환경 변수도 복원되었습니다.

관련 정보