使用distcc在Ubuntu上的i686系统上交叉编译x86_64

时间:2011-01-12 20:55:01

标签: c++ linux 32bit-64bit ubuntu-10.10 distcc

我正在尝试使用distcc在家中设置一个小型构建群集。有两个x64系统和一个i686系统。所有系统都运行Ubuntu 10.10并且是最新的。启动构建的系统是x64。 Distcc在两个x64系统之间工作正常,但发送到i686系统的所有构建任务都失败了。

到目前为止:

  • 我在该系统上安装了g ++的multilib包。我可以使用g++ -m64
  • 在本地交叉编译到x64
  • 更改了/usr/lib/distcc/g++中的链接,指向明确设置-m64参数的脚本。

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

经过更多研究后再次尝试这个:

海湾合作委员会有一个page describing the i386 and x86-64 options-m64标志表示生成64位代码,但您还需要指定-march=i686-march=k8或类似的CPU类型,以使用正确的指令集。< / p>

由于distcc发送GCC命令行标志,你应该尝试将这些标志添加到本地运行的distcc命令中,并跳过远程脚本来设置标志。

如果你在没有distcc的本地x64机器上测试架构标志,只需要g ++,那么它在使用distcc时应该给你正确的二进制文件。