DISTCCを使用してUbuntuのi686システムでX86_64をクロスコンパイルします
-
10-10-2019 - |
質問
DISTCCを使用して、自宅で小さなビルドクラスターをセットアップしようとしています。 2つのX64システムと1つのI686システムがあります。すべてのシステムはUbuntu 10.10を実行しており、最新です。ビルドを開始しているシステムはx64です。 DISTCCは2つのX64システム間で正常に動作しますが、すべてのビルドタスクがi686システムに送信されます。
ここのところ:
- そのシステムにG ++用のMultilibパッケージをインストールしました。ローカルでX64にクロスコンパイルすることができます
g++ -m64
- リンクを変更しました
/usr/lib/distcc/g++
明示性が設定するスクリプトを指す-m64
パラメーター。
助言がありますか?
解決
これをもう一度試してみてください。
GCCには i386およびx86-64オプションを説明するページ. 。 -m64
フラグは64ビットコードを生成すると言っていますが、CPUのタイプを指定することも望む必要があります。 -march=i686
また -march=k8
または同様に、正しい命令セットを使用します。
DISTCCはGCCコマンドラインフラグを送信するため、これらをローカルで実行しているDISTCCコマンドに追加して、フラグを設定するためにリモートスクリプトをスキップしてみてください。
DISTCCのないローカルX64マシンのアーキテクチャフラグをG ++だけテストする場合、DISTCCを使用するときに適切なバイナリが得られるはずです。
所属していません StackOverflow