MacOS High SierraにValgrindをインストールできません。 brew
からは利用できません。 .1 で試しました。 make install
の後、次のメッセージが表示されます。
configure: error: Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x and 14.x (Mac OS X 10.6/7/8/9/10)
Homebrewより:
valgrind: This formula either does not compile or function as expected on macOS
versions newer than Sierra due to an upstream incompatibility.
Error: An unsatisfied requirement failed this build.
このような問題がありました。だから、私は解決策を見つけました。このコードでvalgrindをインストールする必要がありますbrew install --HEAD valgrind
MacOS High Sierra(10.13.x)で動作するように、valgrind 3.13.0のポートを作成しました。ここで入手できます: https://github.com/padiakalpesh/valgrind_3.13_high_sierra
ソースを取得したら、ソースディレクトリ内から次のコマンドを実行します。
./configure
make
Sudo make install
brew install Valgrindには、最新のmacOSにインストールするときに互換性の問題がありますが、この問題には回避策があります。 brewを使用してインストールしようとすると、このエラーメッセージが表示されます。
$ brew install valgrind valgrind:この式は、アップストリームの非互換性のために、High Sierraより新しいmacOSバージョンでは期待どおりにコンパイルまたは機能しません。エラー:満たされていない要件がこのビルドに失敗しました。
-------------------------------------------------- - - - - - - - - -解決 - - - - - - - - - - - - - - - - ------------------------------
ステップ1:$ brew edit valgrind
ステップ2:ファイルでこの行を見つける->(url " https://sourceware.org/git/valgrind.git ")
ステップ3:->(url "git://sourceware.org/git/valgrind.git")に置き換えます
Step4:$ brewアップデート
ステップ5:$ brew install --HEAD valgrind
そして完了!
それでも機能しない場合はお知らせください。ありがとう!!
参考のため、2018年7月にこれを機能させました:
https://Gist.github.com/AlessandroMinali/d8316d6cc650c97027433644c2ff31ee
- 5468: applellvm-5.1|applellvm-6.*|applellvm-7.*|applellvm-8.*)
+ 5468: applellvm-5.1|applellvm-6.*|applellvm-7.*|applellvm-8.*|applellvm-9.*)
- 5879: 16.*)
+ 5879: 17.*)
./autogen.sh
./configure
make
make install
# false positive for any executable (it seems)
# macOS 10.12.6
# valgrind 3.13.0
{
libtrace initialization false positive
Memcheck:Param
msg->desc.port.name
fun:mach_msg_trap
fun:mach_msg
fun:task_set_special_port
fun:_os_trace_create_debug_control_port
fun:_libtrace_init
}
--suppressions=$HOME/.valgrind.supp
私はmacOS上でValgrindのgit headバージョンをかなり定期的にビルドしています。 xcodeがインストールされている場合は、指示に従うだけではありません here 。
ビルドスクリプトで後で更新します。
別の方法として、clang消毒剤を検討することもできます。これはxcodeで有効にするか、-fsanitize = Xオプション(Xはアドレス、未定義、スレッド、メモリ、その他いくつか)で有効にできます。
MacPortsバージョンは2018年9月に機能し始めました!
コマンドは、完全を期すために(非常に高速に完了する-どうやら、事前に構築されています):
Sudo port install valgrind-devel
バージョン:
$ valgrind --version
valgrind-3.14.0.GIT
brew install --HEAD valgrind
も私のために働いたが、HEADバージョン、ビルド/インストールを取得するのに時間がかかることを忘れないでください。
ただし、他の変更は必要ありません。
Valgrindはやや扱いにくいソフトウェアであり、macOSのメジャーリリースごとに更新が必要です。
2018年2月の時点では、macOS High Sierra(10.13)をサポートするValgrindのリリースバージョンはありません。 Valgrindの開発バージョンを使用するか、代替ツールを使用する必要があります。 (Appleの Instruments には、探している機能の一部が含まれている場合があります。)
以下は、macOS 10.13.6で最新の Valgrind リリース3.14.0(2018年10月9日)を使用して機能しました。
VERSION="3.14.0"
wget -O - http://www.valgrind.org/downloads/valgrind-"$VERSION".tar.bz2 | tar xjf -
cd valgrind-"$VERSION"
# use --prefix=/path/to if you want it installed somewhere in particular
./configure
make
# may need Sudo
make install
# test all is working
valgrind ls -l
これらの指示は、Valgrindリリースtarボール内のREADME
から取得されます。