0

armhf BuildRoot ベースのシステムで git を実行しようとしています。git は BuildRoot にないので、別の Debian ベースの armhf システムに行き、そこでソースから "make prefix=/usr CFLAGS="${CFLAGS} -static-libgcc" でコンパイルしました (静的バイナリが必要です)。次に、そのバイナリとファイルのアーカイブを /usr/share/git-core に作成し、それを armhf BuildRoot ベースのシステムでアーカイブ解除しました。

今、レポを複製しようとすると。https経由でターゲットシステムに接続すると、次のエラーが発生します。

git: /usr/lib/libcrypto.so.1.0.0: バージョン情報がありません (git で必要)
「test_repo」に複製しています...
致命的: 'https' のリモート ヘルパーが見つかりません

armhf ビルド システムとターゲットの両方で、同じバージョンの libcrypto.so (つまり 1.0.0) が使用されているように見えるため、バージョンに関して何が問題なのかわかりません。それを機能させるための提案はありますか?

4

1 に答える 1

1
  1. スタティック バイナリが必要な場合は、-static リンカーオプションを使用してください (つまりLDFLAGS)。
  2. ほとんどの場合、「利用可能なバージョン情報がない」ことは大きな問題ではありません。それは、 ( ELF セクションのlibcryptoように) ライブラリに利用可能なシンボルのバージョン情報がないということだけです。VERDEF
  3. あなたの本当の問題は、あなたの git がgit-remote-httpsヘルパー プログラム (通常は へのシンボリック リンクgit-remote-http) を持っていないこと/usr/lib/git-core/です。
  4. しかし、私が見たところ、BuildRoot 用の git パッケージが既にあるので、それを使用するのが最善の策です。
于 2016-08-09T08:42:26.503 に答える