0

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

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

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

英特尔 Galileo 正在运行 Yocto,并且是 i586。

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

4

2 回答 2

0

这本身不是答案,而是我决定如何做!

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

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

于 2016-03-10T06:04:03.640 回答
0

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

您实际上并不需要通常称为“交叉编译”的设置,因为该标准/usr/bin/gcc可以使用正确的选项生成 i586 二进制文件。默认为-m32i686:即它使用cmovP6 (PPro) 中添加的指令。

配置您的构建以-m32 -march=i586作为编译器选项传递。 -m32可能还必须是链接器选项,如果某些构建命令使用需要不同选项的其他命令来指定对 32 位 ELF 二进制文件的操作,则它们可能会失败。

假设您的软件包使用标准的 autoconf 设置,

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

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

于 2016-03-10T07:00:59.213 回答