2017-03-18 18 views
1

私はMac OS X Sierra 10.12.3を持っています。私はValgrindが私のシステムと互換性がないかもしれないことを知っています。私が正常にautomakeにとSVNを走ってきました、しかし私は作るを実行しようとすると、それは言う:インストール時にValgrindが失敗する -

priv/ir_opt.c:5930:14: error: explicitly assigning value of variable of type 'Int' (aka 'int') to itself [-Werror,-Wself-assign] 
    for (m = m; m < A_NENV; m++) { 

これは、Mac OSまたは何か他のもので、適合性にある場合は誰でも知っていますか?ありがとう。

+0

これは 'make'ではなくCコンパイラです。 '-Werror'フラグが設定されているところなら、それを削除してください(おそらく' Makefile'の中にあります)。 – Jens

+0

@Jens答えるためのおかげで、すべての '-Wall'とValgrindのMakefileのから' -Werror'を削除しようとしただけでなく、私の〜/ .profileに至るまでを削除しようとした、しかし私はそれが印刷されたので、それはおそらく、Xcodeののmakeを使用することに気付きました/アプリケーション/ Xcode.app/Contents/Developer/usr/bin/make'を実行します。 – Holsen

+0

これで問題が解決しない場合は、ソースを変更することをお勧めします。 'm = m'は何もしていないのでir_opt.c:'(for m Jens

答えて

0

イェンスは、私がir_opt.cを見つけた、示唆されているように(同じ問題を持つ人々のために注意してください。いくつかのir_opt.cファイルがあるとして、警戒する、あなたはVEX/priv/ir_opt.cに1を編集する必要があります)とm = 0m = mを変更し、以来、変数mは、数行上の0として宣言されました。

0

ValgrindはMacOS X Sierraでは動作しません。しばらく試してみました。

SVNをインストールすると分かりますが、私もこのエラーは発生しませんでした。実際にvalgrind --tool=memcheck --leak-check=full -v ./<program>を実行すると、エラーが発生します。

私が読んだところでは、これは、OS Xのソースコードのなかで、valgrindの開発者がソフトウェアの修正を行うことができない原因となっています。ライセンスとクローズドソース。それとも、最近まで、彼らはまだ自分のソースコードを更新していない、またはそのようなものです。

とにかく、OS Xでvalgrindを使用するには、仮想マシンにlinuxをインストールする必要があります。私はRubuntuでVirtualBoxを使用しています。私はホームフォルダをVMに共有しています。私はmemchecksをそのように実行しても問題はありません。どんなディストリビューションもうまくいくはずですが、IMOの方が軽い方が良いでしょう。何らかの理由でそれが実際にvalgrindののmemchecksであなたのために動作しない場合

、その後、私はあなただけで幸運だと思います。 valgrindがOS X上で完全に機能し、それが想定されているようなものをすべてキャッチしないという保証はないので、私はまだLinux VMを使用することに変えることをお勧めします。

関連する問題