Nokogiri installation error - "Failed to build gem native extension"

1,207 views
Skip to first unread message

Omkar Sathe

unread,
Aug 2, 2020, 7:23:24 PM8/2/20
to nokogiri-talk
System: Windows , x64, Ubuntu 20.04, Ruby version: ruby 2.7.1p83, 

When installing rails, I got an error "Failed to build gem native extension". I understood that this is due to a Nokogiri error. 
When trying to install Nokogiri, I am getting the same error "Failed to build gem native extension". Checked on stack, but solutions posted there aren't working. Please help!  


omkars@LAPTOP-7GPXXXX:~$ sudo gem install nokogiri

Building native extensions. This could take a while...
ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.7.0/gems/nokogiri-1.10.10/ext/nokogiri
/usr/bin/ruby2.7 -I /usr/lib/ruby/2.7.0 -r ./siteconf20200803-1803-ir1hod.rb extconf.rb
checking if the C compiler accepts ... *** 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=/usr/bin/$(RUBY_BASE_NAME)2.7
        --help
        --clean
/usr/lib/ruby/2.7.0/mkmf.rb:471:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from /usr/lib/ruby/2.7.0/mkmf.rb:597:in `block in try_compile'
        from /usr/lib/ruby/2.7.0/mkmf.rb:544:in `with_werror'
        from /usr/lib/ruby/2.7.0/mkmf.rb:597:in `try_compile'
        from extconf.rb:138:in `nokogiri_try_compile'
        from extconf.rb:162:in `block in add_cflags'
        from /usr/lib/ruby/2.7.0/mkmf.rb:655:in `with_cflags'
        from extconf.rb:161:in `add_cflags'
        from extconf.rb:416:in `<main>'

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

  /var/lib/gems/2.7.0/extensions/x86_64-linux/2.7.0/nokogiri-1.10.10/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.7.0/gems/nokogiri-1.10.10 for inspection.
Results logged to /var/lib/gems/2.7.0/extensions/x86_64-linux/2.7.0/nokogiri-1.10.10/gem_make.out

Mike Dalessio

unread,
Aug 2, 2020, 7:29:38 PM8/2/20
to nokogiri-talk
Hi! Sorry you're having problems, I'll try to help.

The error message says:

> You have to install development tools first.

I believe this means you don't have some part of the compiler tool chain that's needed to compile gems that have C extensions. You could verify this by trying to install a simpler gem that has a C extension, like 'bcrypt'. If the installation of 'bcrypt' fails in a similar manner, then this is the issue.

In that case, I'd recommend that you ask on a more general ruby forum how to install the compiler tool chain on your system and for the version of ruby you've installed.

I hope this helps!


--
You received this message because you are subscribed to the Google Groups "nokogiri-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nokogiri-tal...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nokogiri-talk/92553e97-9ce5-4959-a9ec-b2f9ef1d503co%40googlegroups.com.

Omkar Sathe

unread,
Aug 4, 2020, 1:42:01 PM8/4/20
to nokogi...@googlegroups.com
Thank you, Mike, for your help.
After a few hours of trying to resolve this, what finally worked was downgrading from Ubuntu 20.04 to 18.


Reply all
Reply to author
Forward
0 new messages