Mac OS – Fehler bei der Installation vom Ruby Gem ffi

Heute mal die Lösung zu einer nervigen Fehlermeldung, auf die ich im Zuge von Ruby Updates gestoßen bin. Ursprünglich wollte ich nur ein Update auf die neuesten Jekyll Pakete via Bundler einspielen:

bundle update

Das wollte aber partout nicht funktionieren, weil das Ruby gem ffi (in der Version 1.10.0) eine Abhängigkeit hat zu Header Files vom gcc. Das resultiert in der Fehlermeldung:

ld: library not found for -lgcc_s.10.4

Ausprobiert habe ich zunächst den gem einzeln zu installieren mit

gem install ffi -v '1.10.0'

was erwartungskonform den gleichen Fehler ausspuckte.

Verschiedene Tipps aus dem Internet brachten keine Lösung, die Xcode Commandline Tools waren bereits installiert via:

xcode-select --install

GCC einzeln via Homebrew einspielen hat meinen iMac für > 20 Minuten auf 100% CPU Auslastung gebracht, aber den Fehler auch nicht behoben:

brew install gcc

Auch die Installation von SDK Headern  führte nicht zum Erfolg:

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Letztlich halfen dann zwei simple Symlinks, die aber möglicherweise erst durch die vorangegangenen Schritten möglich waren, das lässt sich im Nachhinein nicht mehr feststellen…

cd /usr/local/lib
sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib
sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.4.dylib

Jekyll Update gelungen, die Wartezeit beim Kompilieren habe ich mit einem Eis überbrückt 😀