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

Jes*_*ogt 5 c++ linux 32bit-64bit ubuntu-10.10 distcc

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

至今:

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

有什么建议?

Har*_*d L 5

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

GCC有一个描述i386和x86-64选项页面.该-m64标志用于生成64位代码,但你也想与指定CPU的类型-march=i686-march=k8或类似,使用正确的指令集.

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

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