Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cocoapods installation failed, Failed to build gem native extension

Tags:

ruby

cocoapods

Cocoapods installation failed,


Version:

macOS Catalina 10.15.4

ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]

Homebrew 2.2.6

gem 3.1.2

gem sources -l

*** CURRENT SOURCES ***
https://gems.ruby-china.com

sudo gem install cocoapod

or

sudo gem install -n /usr/local/bin cocoapods

Error result:

Building native extensions. This could take a while... 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 /Library/Ruby/Site/2.6.0 -r ./siteconf20200409-15528-unemw5.rb extconf.rb checking for ffi.h... * extconf.rb failed * Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.

Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME) --with-ffi_c-dir --without-ffi_c-dir --with-ffi_c-include --without-ffi_c-include=${ffi_c-dir}/include --with-ffi_c-lib --without-ffi_c-lib=${ffi_c-dir}/lib --enable-system-libffi --disable-system-libffi --with-libffi-config --without-libffi-config --with-pkg-config --without-pkg-config /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:inblock 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:intry_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:inblock 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:inopen' 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:inopen' 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:inchecking_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:insystem_libffi_usable?' from extconf.rb:34:in `'

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-19/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-19/2.6.0/ffi-1.12.2/gem_make.out

If you solve this problem?

like image 976
MarkMiao Avatar asked Apr 09 '20 08:04

MarkMiao


People also ask

Are you unable to install CocoaPods on Maxos Catalina?

Are you unable to install cocoapods on maxOS Catalina ? here is what might work for you. On macOS Catalina I faced several issues install cocoapods, and below is the solution. sudo gem install -n /usr/local/bin cocoapods Building native extensions. This could take a while...

Why is my CocoaPods not working in Ruby?

You appear to have CocoaPods installed but it is not working. This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it. This can usually be fixed by re-installing CocoaPods.

How to fix install error code gcc42 on macOS Catalina?

If you have homebrew installed, do brew install apple-gcc42. This immediately solved it for me. I got same problem and I just fixed with change my /usr/local/include folder to /usr/local/include_old I was facing quite a similar error, and it was my first time installing CocoaPods on macOS Catalina.


Video Answer


2 Answers

I fixed it by running

brew install cocoapods

And You may want to remove it:

rm '/usr/local/bin/pod'

To force the link and overwrite all conflicting files:

brew link --overwrite cocoapods

Install homebrew if you haven't already. https://brew.sh/

like image 131
Ten Avatar answered Oct 06 '22 08:10

Ten


Try adding --disable-system-libffi to the gem install command.

This worked for me:

gem inst cocoapods -- --disable-system-libffi

like image 1
Selkie Avatar answered Oct 06 '22 06:10

Selkie