gcc 7.2.0 を入れたら awk がちゃんと動かなくなった話

2018-01-15 Mon 17:52:08 JST
posted by hadrori

環境

  • macOS 10.12.6
  • Homebrew 1.4.3
  • pyenv 1.2.1
  • gcc 7.2.0
  • gawk 4.2.0

問題

gcc 7.2 を入れたあと,pyenv を使おうとしたらうまく動かなかった.

$ pyenv install --list
Available versions:
dyld: Library not loaded: /usr/local/opt/mpfr/lib/libmpfr.4.dylib
  Referenced from: /usr/local/bin/awk
  Reason: image not found
/usr/local/bin/python-build: 1847 行: 34948 終了                  sed 'h; s/[+-]/./g; s/.p\([[:digit:]]\)/.z.\1/; s/$/.z/; G; s/\n/ /'
     34950 Broken pipe: 13         | LC_ALL=C sort -t. -k 1,1 -k 2,2n -k 3,3n -k 4,4n -k 5,5n
     34951 Abort trap: 6           | awk '{print $2}'

原因

pyenv が依存する gawk が依存する mpfr (3.1.6) と gcc が依存する mpfr (4.0.0) のバージョンが違い,gcc を入れた際に libmpfr.4.dylib が消えて libmpfr.6.dylib に置き換わっていた.

解決方法

libmpfr.4.dylib をリンクし直す

ln -s /usr/local/Cellar/mpfr/3.1.6/lib/libmpfr.4.dylib /usr/local/opt/mpfr/lib/libmpfr.4.dylib