2016-07-07 9 views
2

私は困惑しています。私は、Ubuntu 14.04を実行しているVMを持っています。私はここに手順を踏んだ:http://clang.llvm.org/docs/LibASTMatchersTutorial.htmlと忍者を実行するステップで午前。これはllvmとclangを構築します。今、私のVMは恥ずかしがり屋ではなく、6GBのRAMと4つのCPUと20GBのスワップファイルを与えました。最大の問題はリンク時です。少なくとも3〜4GBまたは仮想メモリを使用する多数のldプロセスを開始するようですが、ある時点ではそれぞれ多くのCPUを使用します。しかし、スワップファイルは12GB以上になり、プロセスはすべてIOバウンドですが、何か役に立つかスラッシングしているのか分かりません。私が知っているのは、ディスクが叩かれていて、ジョブが永遠に動いているということです。私は実際には、VMのCPU数を1に減らして、並列性が低い方が効率的かもしれないかどうかを確認しましたが、問題がスラッシングする可能性があると推測しました。永遠に築きあう建物のクランプ

私のディスクが遅くなる可能性があります...任意のアイデアですか?私は忍者の代わりにメイクを使うべきですか?私の専門知識はLinuxではありません(私はそこに行っています:-))私はチュートリアルに従っていますが、おそらくclang/llvmプログラムを構築するための「最良の」方法は推奨されません。

答えて

3

私はそこにいました。最新のsvnリリースで起こっています(しかし、あなたが3.8以降のclangを入手した場合はそうではありません)。コンパイル単位ごとに多くのデバッグ情報も生成されているため、ファイルサイズが大きくなっています。

解決方法は、デフォルトで接続されているすべてのデバッグ情報をオフにすることです。あなたはおそらくclangをデバッグするつもりはないので、それを必要としません。 SOだけではなく、あなたが何をすべきこの

cmake -G Ninja ../llvm -DLLVM_BUILD_TESTS=ON 

を行う

cmake -G Ninja ../llvm -DLLVM_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release 

他のすべてのステップは同じままです。今私は忍者でこれをテストしていませんが、ubuntuでmakeを使って検証しました(このtutorial、手順7で同じことを修正しました)。これはweelとしてowkrする必要があります。

+0

まだ試したことはありませんが、これは非常に意味があります。私は答えとしてマークします。一方、私はUbuntu 14.04(および他の多くのプラットフォーム)用のすべてのコードの事前構築されたイメージをhttp://llvm.org/releases/download.htmlにダウンロードできることを発見しました。このリンク(http://askubuntu.com/questions/306929/how-to-install-clang-using-precompiled-binaries)を入手してインストールする方法の詳細がありますが、私は/ usr/local。だから私はちょうど削除するか、簡単に別のバージョンを得ることができます。 –

+0

はい、あなたはそれを完全に行うことができます。私にとっては、clang 3.8をリリースした後に行われたバグ修正のために、最新のリリースを入手してsvnトラックから最新のものをビルドしなければなりませんでした。それはclangとの私の仕事にとって非常に重要でした。 –