我想知道i586架構是否有RethinkDB軟件包,或者是否有人知道如何交叉編譯i586?RethinkDB for i586
我有一個英特爾Galileo第2代板,並試圖編譯RethinkDB,但它需要永遠,所以我想我可以在我的主計算機上做到這一點。
我的主機運行Xubuntu 15.04,帶有i7。
英特爾伽利略運行Yocto,並且是i586。
所以我希望在英特爾伽利略的主機上構建RethinkDB。如果我不能交叉編譯它,有沒有人知道如何在我的主電腦上模擬i586?
我想知道i586架構是否有RethinkDB軟件包,或者是否有人知道如何交叉編譯i586?RethinkDB for i586
我有一個英特爾Galileo第2代板,並試圖編譯RethinkDB,但它需要永遠,所以我想我可以在我的主計算機上做到這一點。
我的主機運行Xubuntu 15.04,帶有i7。
英特爾伽利略運行Yocto,並且是i586。
所以我希望在英特爾伽利略的主機上構建RethinkDB。如果我不能交叉編譯它,有沒有人知道如何在我的主電腦上模擬i586?
這不是一個答案本身,但我怎麼決定做!
我決定在Galileo板上沒有RethinkDB-server,只是在其他服務器上運行服務器,然後連接到它。看到演出會很有趣,但我沒有時間去嘗試並使其發揮作用。
對不起,這不是一個真正的答案。
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)
喜歡的人評論說,你可能需要構建靜態庫。
您可能想要提及各個系統正在運行的操作系統。 –
@JoachimIsaksson編輯問題 – jwanglof
有沒有包,我不知道它是否會工作。你當然可以嘗試編譯它。我不完全確定交叉編譯需要哪些標記。一個好的開始是'./configure - 全部 - 全部 - 全部'。您還需要設置一些環境變量(例如CXXFLAGS)以確保構建正確的架構。 –