libgit2 / libgit2/libgit2sharp.nativebinaries
Ubuntu 22.04 x64: could not load ssl libraries
まだ誰も着手していません。
- 主要言語
- PowerShell
- スター
- 35
- フォーク
- 74
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
LibGit2Sharp.LibGit2SharpException: could not load ssl libraries
at LibGit2Sharp.Core.Ensure.HandleError(Int32 result) in /_/LibGit2Sharp/Core/Ensure.cs:line 154
at LibGit2Sharp.Core.Proxy.git_remote_connect(RemoteHandle remote, GitDirection direction, GitRemoteCallbacks& remoteCallbacks, GitProxyOptions& proxyOptions) in /_/LibGit2Sharp/Core/Proxy.cs:line 2172
at LibGit2Sharp.Repository.ListRemoteReferences(String url, CredentialsHandler credentialsProvider) in /_/LibGit2Sharp/Repository.cs:line 689
Using a project with LibGit2Sharp built with dotnet publish --configuration Release --runtime linux-x64 --no-self-contained, resulting in libgit2-e632535.so, and running on .NET 6.0.415.
By using strace with some trial-and-error, it seems that LibGit2Sharp requires OpenSSL 1.1, but Ubuntu 22.04 (and higher, I assume) only ship with OpenSSL 3.
As a workaround, installing http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.20_amd64.deb fixes the issue and lets LibGit2Sharp run.
What needs to be done to make this work with OpenSSL 3?
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
linux-x64 publish によって生成されたネイティブの libgit2-e632535.so と、Ensure.cs、Proxy.cs、Repository.cs のスタックトレースの場所から始めます。strace または同等の依存関係検査を使用して、Ubuntu 22.04 でどの SSL ライブラリが要求されるかを確認します。libssl1.1 をインストールせずに、LibGit2Sharp がシステムの OpenSSL 3 ライブラリでリモートに接続できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- linux, ubuntu
- 領域
- backend, security
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100