Flutter: did not find header ‘config.h’ in framework ‘ruby’ when running sudo gem install cocoapods on big sur macOS.

macos big sur cocoapods

While setting up flutter and installing cocoapods on mac os, you might run into this error on Big Sur macOS in this log file:

/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/ffi-1.12.2/mkmf.log

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: note: did not find header ‘config.h’ in framework ‘ruby’ (loaded from ‘/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks’)
1 error generated.

Full error on console

MacBook-Pro-2:app phongyewtong$ sudo gem install cocoapods
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi — version 1.12.2
Fetching tzinfo-2.0.4.gem
Fetching zeitwerk-2.5.3.gem
Fetching activesupport-6.1.4.4.gem
Fetching i18n-1.8.11.gem
Fetching addressable-2.8.0.gem
Fetching public_suffix-4.0.6.gem
Fetching cocoapods-core-1.11.2.gem
Fetching cocoapods-downloader-1.5.1.gem
Fetching molinillo-0.8.0.gem
Fetching nanaimo-0.3.0.gem
Fetching rexml-3.2.5.gem
Fetching xcodeproj-1.21.0.gem
Fetching cocoapods-1.11.2.gem
Successfully installed i18n-1.8.11
Successfully installed tzinfo-2.0.4
Successfully installed zeitwerk-2.5.3
Successfully installed activesupport-6.1.4.4
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.

current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.12.2/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20220102–30321–14trs7r.rb extconf.rb
checking for ffi.h… /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do’: The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `block in try_compile’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:534:in `with_werror’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `try_compile’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1109:in `block in have_header’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in `block in checking_for’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block (2 levels) in postpone’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block in postpone’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in `postpone’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in `checking_for’
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1108:in `have_header’
from extconf.rb:10:in `system_libffi_usable?’
from extconf.rb:34:in `<main>’

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/ffi-1.12.2/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.12.2 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/ffi-1.12.2/gem_make.out

Solution: Update your ruby version 2 to the latest

Install rvm

Run script

Install the latest ruby

or install 3.1.0 (latest at the point of writing)

Use default

then run again. Hurray!

Drop me some claps if this article helps you, it motivates me to create more! Thanks! 👏👏👏

--

--

Entrepreneurship, React, Flutter, Firebase, Typescript, Javascript, NodeJS, ChatGPT, Crypto, Blockchain. Visit www.gamevsus.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Phong Yew Tong

Entrepreneurship, React, Flutter, Firebase, Typescript, Javascript, NodeJS, ChatGPT, Crypto, Blockchain. Visit www.gamevsus.com