環境
- macOS High Sierra 10.13.1
- Golang 1.9.2
- Emacs 25.3 (Homebrew)
手順
ソースコードをチェックアウトして make を使ってコンパイル&インストール。
$ ghq get https://github.com/derekparker/delve.git
$ cd ~/src/github.com/derekparker/delve
$ make test
$ make install
Emacs で M-x package-install RET go-dlv RET
して benma/go-dlv をインストール。設定は割愛。((require 'go-dlv)
的な事をするだけで良いはず)
go のファイルを開いて M-x dlv-current-func RET
してデバッガが起動する事を確認。
メモ:dyld のパス解決方法がわからない
make test
を実行した際に dyld 絡みのエラーが発生した。
Error compiling ../../_fixtures/issue877.go: signal: abort trap
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/local/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Homebrew の jpeg と libpng パッケージによってインストールされた dylib が優先された結果、存在しないシンボルを参照してしまうという事象が発生した模様。関連パッケージを一通り削除する事で対処したが、本来はサーチパスを調整する事で解決する問題な気がしている。
※ この問題は以下で再現可能。
$ brew install jpeg
$ cd ~/src/github.com/derekparker/delve
$ make test