我想知道是否有针对i586架构的RethinkDB软件包,还是有人知道如何为i586交叉编译它?
我有一个英特尔Galileo Gen 2主板并尝试在其上编译RethinkDB,但它需要永远,所以我想我可以在我的主计算机上完成它。
我的主机正在运行Xubuntu 15.04,带有i7。
英特尔Galileo正在运行Yocto,而且是i586。
所以我希望在我的主机上为Intel Galileo构建RethinkDB。如果我无法对其进行交叉编译,是否有人知道如何在我的主计算机上模拟i586?
答案 0 :(得分:0)
这不是本身的答案,而是我决定做的事情!
我决定不在Galileo-board上安装RethinkDB服务器,而只是在其他服务器上运行服务器并连接到它。看到表演会很有趣,但我没有时间尝试让它发挥作用。
很抱歉,这不是一个真正的答案。
答案 1 :(得分: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)
就像人们评论的那样,你可能想要构建静态库。