适用于 i586 的 RethinkDB

RethinkDB for i586

我想知道是否有用于 i586 架构的 RethinkDB 包,或者有人知道如何为 i586 交叉编译它吗?

我有一个 Intel Galileo Gen 2 开发板并尝试在其上编译 RethinkDB,但这需要很长时间,所以我想我可以在我的主计算机上完成它。

我的主机是 运行 Xubuntu 15.04,带有 i7。

Intel Galileo 是 运行 Yocto,是 i586。

所以我希望在我的主机上为 Intel Galileo 构建 RethinkDB。如果我不能交叉编译它,有谁知道如何在我的主计算机上模拟 i586?

这不是一个答案本身,而是我决定怎么做!

我决定不在 Galileo 板上安装 RethinkDB 服务器,而是 运行 将服务器安装在其他服务器上并连接到它。看到表演会很有趣,但我只是没有时间尝试让它发挥作用。

抱歉,这不是真正的答案。

amd64 Ubuntu 只需要安装几个包来构建 i386 二进制文件。我认为安装 gcc-multilib 可以满足您的大部分需求。您可能还需要安装一些 pkgname:i386 库。

你真的不需要通常所谓的 "cross-compile" 设置,因为标准 /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)

正如人们评论的那样,您可能想要构建静态库。