happiness (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) happiness

Library not loaded: /opt/brew/opt/libffi/lib/libffi.7.dylib (LoadError)の直し方のコツ

ffmpegをinstallしたあとにrails sしたら発生したエラー

$ rails s

<PATH_TO_REPO>/vendor/bundler/ruby/3.0.0/gems/activesupport-6.1.4.1/lib/active_support/dependencies.rb:332:
  in `require': dlopen(<PATH_TO_REPO>/vendor/bundler/ruby/3.0.0/gems/ffi-1.15.4/lib/ffi_c.bundle, 0x0009):
  Library not loaded: /opt/brew/opt/libffi/lib/libffi.7.dylib (LoadError)

Referenced from: <PATH_TO_REPO>/vendor/bundler/ruby/3.0.0/gems/ffi-1.15.4/lib/ffi_c.bundle

Reason: tried: 
- '/opt/brew/opt/libffi/lib/libffi.7.dylib' (no such file), '/usr/local/lib/libffi.7.dylib' (no such file), 
- '/usr/lib/libffi.7.dylib' (no such file), '/opt/brew/Cellar/libffi/3.4.2/lib/libffi.7.dylib' (no such file),
-  '/usr/local/lib/libffi.7.dylib' (no such file), 
- '/usr/lib/libffi.7.dylib' (no such file)

<PATH_TO_REPO>/vendor/bundler/ruby/3.0.0/gems/ffi-1.15.4/lib/ffi_c.bundle

直し方

うちのmacでは'/opt/brew/Cellar/libffi/3.4.2/lib/は存在した。

なので、そこに移動してln -s libffi.8.dylib libffi.7.dylibしたら直った。

コツ

それぞれのディレクトリのlibffiディレクトリ探しに行ってどうなってるか見たほうがいいですね(自戒)

参考文献 dyld: Library not loaded: /usr/local/opt/libffi/lib/libffi.6.dylib · Issue #7 · platformio/platform-lattice_ice40 · GitHub