Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby

Mauris Alonso
Mauris Alonso
6,152 Points

extconf failed, exit code 1 - Can't install rails due to this error - help plz

Hello fellow Treehouse community. I am trying to install rail on my new mac and now I am getting a super long error. I have tried all around Google but for some reason I can get the right fix for it.

Here is the long terminal code:

CODE START HERE-----------------------------------------------

 ~   master±  gem install rails Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension.

current directory: /Users/m2k11/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri

/Users/m2k11/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20160613-74461-1sd343m.rb extconf.rb Using pkg-config version 1.1.7 checking if the C compiler accepts ... yes checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no Building nokogiri using packaged libraries. Using mini_portile version 2.1.0 checking for iconv.h... yes checking for gzdopen() in -lz... yes checking for iconv using --with-opt-* flags... yes


IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.4.

Team Nokogiri will keep on doing their best to provide security updates in a timely manner, but if this is a concern for you and want to use the system library instead; abort this installation process and reinstall nokogiri as follows:

gem install nokogiri -- --use-system-libraries
    [--with-xml2-config=/path/to/xml2-config]
    [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

bundle config build.nokogiri --use-system-libraries
bundle install

Note, however, that nokogiri is not fully compatible with arbitrary versions of libxml2 provided by OS/package vendors.


Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-apple-darwin15.5.0/ports/libxml2/2.9.4... OK Running 'configure' for libxml2 2.9.4... OK

Running 'compile' for libxml2 2.9.4... ERROR, review '/Users/m2k11/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/tmp/x86_64-apple-darwin15.5.0/ports/libxml2/2.9.4/compile.log' to see what happened. Last lines are:

unsigned short* in = (unsigned short*) inb;
                     ^~~~~~~~~~~~~~~~~~~~~

encoding.c:815:27: warning: cast from 'unsigned char ' to 'unsigned short *' increases required alignment from 1 to 2 [-Wcast-align] unsigned short out = (unsigned short*) outb; ^~~~~~~~~~~~~~~~~~~~~~ 4 warnings generated. CC error.lo CC parserInternals.lo CC parser.lo CC tree.lo CC hash.lo CC list.lo CC xmlIO.lo xmlIO.c:1450:52: error: use of undeclared identifier 'LZMA_OK' ret = (__libxml2_xzclose((xzFile) context) == LZMA_OK ) ? 0 : -1; ^ 1 error generated. make[2]: *** [xmlIO.lo] Error 1 make[1]: *** [all-recursive] Error 1

make: *** [all] Error 2

*** 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 --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=/Users/m2k11/.rvm/rubies/ruby-2.3.0/bin/$(RUBY_BASE_NAME) --help --clean --use-system-libraries --enable-static --disable-static --with-zlib-dir --without-zlib-dir --with-zlib-include --without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib --enable-cross-build --disable-cross-build /Users/m2k11/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:366:in block in execute': Failed to complete compile task (RuntimeError) from /Users/m2k11/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:inchdir' from /Users/m2k11/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in execute' from /Users/m2k11/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:111:incompile' from /Users/m2k11/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:150:in cook' from extconf.rb:364:inblock (2 levels) in process_recipe' from extconf.rb:257:in block in chdir_for_build' from extconf.rb:256:inchdir' from extconf.rb:256:in chdir_for_build' from extconf.rb:363:inblock in process_recipe' from extconf.rb:262:in tap' from extconf.rb:262:inprocess_recipe' from extconf.rb:555:in `<main>'

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

/Users/m2k11/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-15/2.3.0/nokogiri-1.6.8/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/m2k11/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8 for inspection. Results logged to /Users/m2k11/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-15/2.3.0/nokogiri-1.6.8/gem_make.out

CODE ENDS HERE --------------------------------------

Any help will be appreciated. Thanks!

2 Answers

Gavin Ralston
Gavin Ralston
28,770 Points

You've been googling, but just in case you didn't run across this:

Nokogiri's OS X guide

From the site:

Team Nokogiri has reproduced an issue with brand-spanking-new Yosemite installations, which can be corrected by running:

gem update --system

Then try doing the install, see if that might help a bit.

Mauris Alonso
Mauris Alonso
6,152 Points

Hello Gavin, first of all THANKS A LOT!!!

Although I did spend almost 2 hours searching, I never came across that page you linked. The line of code that fix it all for me was this:

'''

xcode-select --install

'''

After running it everything went super smooth and fast. I recommend everyone to bookmark that page since it offers lots of solutions for well known problems.

Once again, thanks a lot for your help!