2016-07-24 95 views
0

我想讓git在我的armhf BuildRoot系統上運行。由於git不在BuildRoot中,我轉到了另一個基於Debian的armhf系統,並使用「make prefix =/usr CFLAGS =」$ {CFLAGS} -static-libgcc「(我想要一個靜態二進制文件)從源代碼編譯它。然後,我在/ usr/share/git-core中創建了該二進制文件和文件的存檔,並在基於BuildRoot的系統上取消了存檔。爲armhf編譯git - 遇到「libcrypto.so.1.0.0:沒有可用的版本信息(git需要)」

現在,當我嘗試克隆目標系統上的回購通過https我得到這個錯誤:

 
git: /usr/lib/libcrypto.so.1.0.0: no version information available (required by git) 
Cloning into 'test_repo'... 
fatal: Unable to find remote helper for 'https' 

我的兩個armhf構建系統和目標似乎有libcrypto.so相同版本(即1.0.0),所以我看不出是什麼問題在版本方面。任何人有任何建議讓它起作用?

+1

_「......似乎有相同的版本......」並沒有灌輸很大的信心 - 當然,您要嘗試的第一件事情是使用您構建的_exact_相同的庫運行(或者反過來構建目標文件系統中的確切庫)。要麼libcrypto.so的兩個副本之間存在某些顯着差異,要麼Git有一些問題,但這些是兩個相當不同的問題。 – Notlikethat

+1

'git'將在其配置中靜靜地失敗,然後像沒有任何事情發生卡車一樣。回到起點。結帳或解開'git'。爲構建配置'git'。然後,在configure之後,手動檢查'config.log'是否有錯誤。您可能會發現其中的3個或4個,特別是如果您通過cURL啓用了HTTPS。 – jww

+0

@Notlikethat:主機系統和目標都有版本1.0.0的libcrypto。主機系統是beaglebone,目標是使用buildroot的自定義系統。在將beaglebone庫複製到目標之前,我想查找其他問題。 – SeanLabs

回答

1
  1. 如果你想擁有靜態二進制,使用-static鏈接選項,請(即LDFLAGS)。
  2. 「沒有可用的版本信息」在大多數情況下並不是一個大問題,它只是因爲您的libcrypto庫沒有可用的符號版本信息(如在VERDEF ELF部分中)。
  3. 你真正的問題是你的git沒有git-remote-https幫助程序(通常只是符號鏈接到git-remote-http)應該在/usr/lib/git-core/的某個地方。
  4. 但從what I see已經有一個BuildRoot的git包,所以你最好的選擇就是使用它。
相關問題