2016-03-06 37 views
0

我想知道i586架構是否有RethinkDB軟件包,或者是否有人知道如何交叉編譯i586?RethinkDB for i586

我有一個英特爾Galileo第2代板,並試圖編譯RethinkDB,但它需要永遠,所以我想我可以在我的主計算機上做到這一點。

我的主機運行Xubuntu 15.04,帶有i7。

英特爾伽利略運行Yocto,並且是i586。

所以我希望在英特爾伽利略的主機上構建RethinkDB。如果我不能交叉編譯它,有沒有人知道如何在我的主電腦上模擬i586?

+0

您可能想要提及各個系統正在運行的操作系統。 –

+0

@JoachimIsaksson編輯問題 – jwanglof

+0

有沒有包,我不知道它是否會工作。你當然可以嘗試編譯它。我不完全確定交叉編譯需要哪些標記。一個好的開始是'./configure - 全部 - 全部 - 全部'。您還需要設置一些環境變量(例如CXXFLAGS)以確保構建正確的架構。 –

回答

0

這不是一個答案本身,但我怎麼決定做!

我決定在Galileo板上沒有RethinkDB-server,只是在其他服務器上運行服務器,然後連接到它。看到演出會很有趣,但我沒有時間去嘗試並使其發揮作用。

對不起,這不是一個真正的答案。

0

amd64 Ubuntu只需要安裝一些軟件包來構建i386二進制文件。我認爲安裝gcc-multilib可以幫助您獲得所需的大部分功能。您可能還需要安裝一些pkgname:i386庫。

您並不需要通常所謂的「交叉編譯」設置,因爲標準/usr/bin/gcc可以使i586二進制文件具有正確的選項。 -m32的默認值是i686:即它使用cmov指令,該指令已添加到P6(PPro)中。

配置您的構建以傳遞-m32 -march=i586作爲編譯器選項。 -m32可能也必須是鏈接器選項,如果某些構建命令使用其他需要不同選項來指定32位ELF二進制文件操作的命令,則可能會失敗。

假設你的包使用標準的autoconf設置,

i586='-m32 -march=i586' 
CFLAGS=$i586 LDFLAGS=$i586 CXXFLAGS=$i586 ./configure 
make -j$(getconf _NPROCESSORS_ONLN) 

喜歡的人評論說,你可能需要構建靜態庫。