Neunomizuの日記

俺だけが俺だけじゃない

「Valgrind」...あなたを詐欺罪と器物損壊罪で訴えます!

tags: 情報

Valgrindを訴えます!

あなたを詐欺罪と器物損壊罪で訴えます!理由はもちろんお分かりですね?あなたが皆をこんなウラ技で騙し、セーブデータを破壊したからです!覚悟の準備をしておいて下さい。ちかいうちに訴えます。裁判も起こします。裁判所にも問答無用できてもらいます。慰謝料の準備もしておいて下さい!貴方は犯罪者です!刑務所にぶち込まれる楽しみにしておいて下さい!いいですね!1

はい.ということでValgrindを訴えます!(訴えません)

Valgrindが使えると騙しましたね。ちかいうちに訴えます。いいですね!

あなたは私を騙しました!

僕はMacを使っているので以下の環境はMacです!いいですね!

brewでインストールできると思っていますか?できると思いますよね?!いいですね!2

ということでインストールを試みます!

  • $ brew install valgrindterminalで打ちます
    • エラーが出るので覚悟の準備をしておいてください!問答無用でエラーを取り除きます。
  • $ brew edit valgrindterminalで打ちます.そうすると,viが起動するので,valgrindソースコードを編集してください!いいですね!
    • ソースコードheadという部分にあるhttps://sourceware.org/git/valgrind.gitという部分をgit://sourceware.org/valgrind.gitに置換してください!いいですね!
    • vimの基本操作がわからない人はこのサイトを見てください!いいですね!それでもわからない人はググってください!いいですね!
    • なんかボタン押してたらよくわからなくなってしまった人はESCを押して,uを連打してくださいいいですね!uで今までの行動をundoできます!いいですね!
  • その後は$ brew update$ brew install --HEAD valgrindをしてください!いいですね!

全部やりましたがうまく行かなかったです!

(調べるとこの方法はMojaveだとうまくいかないみたいです!ということでMojaveでもできるらしいやり方を調べます!いいですね!)

Mojaveでのやり方も調べます!いいですね!

StackOverflowの通りにやります!いいですね!

下のコードをterminalで打ってください!いいですね!

$ git clone https://github.com/Echelon9/valgrind.git
$ cd valgrind
$ git checkout feature/v3.14/macos-mojave-support-v2
$ ./autogen.sh
$ ./configure --prefix=/where/you/want/it/installed --enable-only64bit
$ make

次はvalgrind内にあるcoregrind/Makefileを探してください! vimで開いてください!いいですね!

そして,次の部分を

am__append_19 = \
    /usr/include/mach/mach_vm.defs \
        /usr/include/mach/task.defs \
        /usr/include/mach/thread_act.defs \
        /usr/include/mach/vm_map.defs

次のように置換してください!いいですね!

ただし,MacOSX10.14の部分は自分のMacのVersionに合わせてください!いいですね!

画面左上のりんごマークをクリックして,About This Macをクリックすると下のような画面が出てくるはずです! alt Mojave

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/mach/mach_vm.defs \
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/mach/task.defs \
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/mach/thread_act.defs \
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/mach/vm_map.defs

それが終わったら

$ make

を再びしましょう

それでもだめなら#define __private_extern__ externというコードを

  • coregrind/m_syscall.c
  • coregrind/m_syswrap/syswrap-darwin.c
  • coregrind/vg_preloaded.c

に加えてください!そして$ makeをして,そのあとに$ make installをしてください!

それでもダメです!下記のようなエラー文が出るだけです...

./auxprogs/make_or_upd_vgversion_h .
/Applications/Xcode.app/Contents/Developer/usr/bin/make  install-recursive
Making install in include
make[3]: Nothing to be done for `install-exec-am'.
 .././install-sh -c -d '/where/you/want/it/installed/include/valgrind'
mkdir: /where: Permission denied
mkdir: /where: No such file or directory
mkdir: /where/you: No such file or directory
mkdir: /where/you/want: No such file or directory
mkdir: /where/you/want/it: No such file or directory
mkdir: /where/you/want/it/installed: No such file or directory
mkdir: /where/you/want/it/installed/include: No such file or directory
make[3]: *** [install-nobase_pkgincludeHEADERS] Error 1
make[2]: *** [install-am] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install] Error 2

これでMacではValgrindが使えないとわかりましたね!いいですね!3

おそらく使えます

Dockerや古いOSを使えばおそらく使えます^^b

前者はメモリが足りない(8GBだとそろそろ足りなくなってきた...),後者はバックアップを取るのが面倒,ということで僕が諦めただけです

質問サイト・ブログ

質問サイト・ブログにエラーの解消法を投稿してくださっている方にはいつも感謝をしています

結果として間違っていたからと言っても,僕は全く責めるつもりはないです(もし意図的ならguiltyですが)(そもそも環境は千差万別なので)

当然誰も訴えないですよ!いいですね!

間違え

この記事がもし間違っていて,「本当は普通に使えるよ!」ということがあったら是非とも教えていただきたいです😢

戒め

仮想環境を気軽に使える程度のスペックのPCを買いましょう