ハイパーニートプログラマーへの道

頑張ったり頑張らなかったり

Crystalをインストールした際のトラブル - dyld: Library not loaded:~ & ld: library not found for -levent

  • Mac OS X(El Capitan) 10.11.5
  • Homebrew 0.9.9

そろそろCrystalの環境構築しなくてはと思い、

anyenvも入れた、crenvも入れた、そしてcrystal 0.17.3も入れたぞ・・・と思ったら

$ crystal --version
dyld: Library not loaded: @@HOMEBREW_PREFIX@@/opt/bdw-gc/lib/libgc.1.dylib
  Referenced from: /Users/noriyo_tcp/.anyenv/envs/crenv/versions/0.17.3/bin/crystal
  Reason: image not found
Trace/BPT trap: 5

なんだこれは・・・

dyld: Library not loaded: の解決方法 - 観照げぇむ Vol.3

ここを参考にしました。

gcでサーチしてみます。

$ brew search gc
bdw-gc                         homebrew/versions/gcc43        libgcrypt                    
gcab                           homebrew/versions/gcc44        libsigc++                    
gcal                           homebrew/versions/gcc45        logcheck                     
gcc                            homebrew/versions/gcc46        pcb2gcode                    
gconf                          homebrew/versions/gcc47        pgcli                        
gcore                          homebrew/versions/gcc48        pkgconfig ✔                  
gcovr                          homebrew/versions/gcc49        pngcheck                     
gcutil                         homebrew/versions/gcc5         pngcrush                     
gcviewer                       homebrew/versions/gcc6       
homebrew/dupes/apple-gcc42     homebrew/versions/llvm-gcc28 
homebrew/fuse/gcsfuse                         Caskroom/cask/pngcommentator                
homebrew/games/uggconv                        Caskroom/cask/ringcentral                   
Caskroom/cask/gcc-arm-embedded                Caskroom/cask/simplefloatingclock           
Caskroom/cask/openpilot-gcs                   Caskroom/cask/svgcleaner

なんだかいっぱい出てきたけど、bdw-gcがある。多分こいつが必要なんだろう。

$ brew install bdw-gc
==> Downloading https://homebrew.bintray.com/bottles/bdw-gc-7.4.2.el_capitan.bottle.2.tar.g
######################################################################## 100.0%
==> Pouring bdw-gc-7.4.2.el_capitan.bottle.2.tar.gz
🍺  /usr/local/Cellar/bdw-gc/7.4.2: 69 files, 1.4M
$ crystal --version
Crystal 0.17.3 (Fri May 20 17:45:41 UTC 2016)

やったー。だがしかし

Playgroundが起動しない

正確に言うと、起動はするのだけど、すぐに下記のようなエラーが出ました。

$ crystal play
Listening on http://localhost:8080
ld: library not found for -levent
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of command failed with code: 1: `cc -o "/Users/noriyo_tcp/.cache/crystal/crystal-run-play-1-1.tmp" "${@}"  -rdynamic  -lssl -lcrypto -lz /Users/noriyo_tcp/.anyenv/envs/crenv/versions/0.17.3/src/ext/libcrystal.a -levent -lpcre -lgc -lpthread -liconv -ldl`

http://crystal-lang.org/docs/installation/on_mac_osx_using_homebrew.html

ここのTroubleshootingを参考にコマンドラインツールを入れ直しました。

$ xcode-select --install
$ xcode-select --switch /Library/Developer/CommandLineTools