在Ubuntu上的i686系统上的交叉编译X86_64与Distcc
-
10-10-2019 - |
题
我正在尝试使用Distcc在家中设置一个小型构建群集。有两个X64系统和1个I686系统。所有系统都在运行Ubuntu 10.10并最新。启动构建的系统为x64。 DISTCC在两个X64系统之间工作正常,但是所有发送给I686系统失败的构建任务。
至今:
- 我已经在该系统上安装了用于G ++的Multilib软件包。我可以使用本地交叉编译到本地
g++ -m64
- 更改了链接
/usr/lib/distcc/g++
指出一个明确设置的脚本-m64
范围。
有什么建议么?
解决方案
经过更多的研究,再次尝试这一点:
GCC有一个 描述i386和x86-64选项的页面. 。这 -m64
Flag说要生成64位代码,但您还需要指定使用CPU的类型 -march=i686
或者 -march=k8
或类似,使用正确的说明集。
由于DISTCC将GCC命令行标志发送出去,因此您应该尝试将它们添加到本地运行的DISTCC命令中,然后跳过远程脚本以设置标志。
如果您在没有DISTCC的本地X64计算机上测试架构标志,仅G ++,则在使用DistCC时应该为您提供正确的二进制文件。
不隶属于 StackOverflow