web-dev-qa-db-ja.com

macOS SierraでのValgrind

私はこのガイドに従っています:

valgrindインストールガイド

パッケージをダウンロードした後、shスクリプトを実行しましたが、make installコマンドを起動すると、Sudoを使用したにもかかわらず、アクセス許可がないためフォルダーを作成できませんでしたコマンド)。

さらに、私はbrewで試しましたが、このエラーがあります:

valgrind:この式は、アップストリームの非互換性のため、El Capitanより新しいmacOSバージョンでは期待どおりにコンパイルまたは機能しません。

エラー:満たされていない要件がこのビルドに失敗しました。

35
th3g3ntl3man

Valgrindの最新バージョンは website からダウンロードできます。次に、./autogen.shだけでValgrindをインストールできます。私は個人的にmakeに必要なものに遭遇しませんでした。

ただし、悲しいニュースは、Valgrindの最新バージョンでさえMac OS Sierraではあまり使用できないことです。理由は、AppleはValgrindをクラッシュさせるソースコードの一部をリリースしていないためです。これがないと、Valgrindのメンテナーはほとんど何もできません。この問題に関する議論については、こちらをご覧ください here

Mac OSカーネルは Apple Public Source License の下にあるため、いつかオープンソース化する必要があります。したがって、ValgrindのSierra互換バージョンは時間の問題です。

現在、LinuxでValgrindを使用しています。これが今私が提案できるすべてです。

49
Musen

最新のValgrind(gitバージョン3.13.0)はMacOS Sierraで動作するようになりましたが、Xcodeコマンドラインツールをインストールする必要があります(必要なヘッダーをインストールします)。

Valgrindをビルドする前にこれを実行します。

xcode-select --install

この投稿 に感謝します。

9
guru_florida

次のようなエラーが表示された場合

valgrind:この式は、アップストリームの非互換性のために、Sierraより新しいmacOSバージョンで期待どおりにコンパイルまたは機能しません。

回避策を試すことができますbrew install --HEAD valgrindここでこの情報を見つけました https://www.gungorbudak.com/blog/2018/04/28/how-to-install-valgrind- on-macos-high-sierra /

3
voltento

まだSierraにいる場合、これは動作します(ただし High Sierra では動作しません)。

$ brew install valgrind

 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.
1
rogerdpack