I am running Rails v4.0.2 on Mac OS 10.9.2 and I had everything smoothly. All of a sudden I'm getting an error saying gems are missing when I try rails server. I run bundle install and this is the output:
Fetching gem metadata from https://rubygems.org/.......
Fetching additional metadata from https://rubygems.org/..
Using rake 10.1.1
Using i18n 0.6.9
Using minitest 4.7.5
Using multi_json 1.9.0
Using atomic 1.1.16
Using thread_safe 0.2.0
Using tzinfo 0.3.39
Using activesupport 4.0.2
Using builder 3.1.4
Using erubis 2.7.0
Using rack 1.5.2
Using rack-test 0.6.2
Using actionpack 4.0.2
Using mime-types 1.25.1
Using polyglot 0.3.4
Using treetop 1.4.15
Using mail 2.5.4
Using actionmailer 4.0.2
Using activemodel 4.0.2
Using activerecord-deprecated_finders 1.0.3
Using arel 4.0.2
Using activerecord 4.0.2
Using encryptor 1.3.0
Using attr_encrypted 1.3.2
Using awesome_print 1.2.0
Using bcrypt 3.1.7
Using bcrypt-ruby 3.1.5
Using net-ssh 2.8.0
Using net-scp 1.1.2
Using tins 1.0.0
Using term-ansicolor 1.3.0
Using sshkit 1.3.0
Using capistrano 3.1.0
Using capistrano-bundler 1.1.2
Using capistrano-rails 1.1.1
Using climate_control 0.0.3
Using cocaine 0.5.3
Using coderay 1.1.0
Using coffee-script-source 1.7.0
Using execjs 2.0.2
Using coffee-script 2.2.0
Using thor 0.18.1
Using railties 4.0.2
Using coffee-rails 4.0.1
Using columnize 0.3.6
Using currencies 0.4.2
Using countries 0.9.3
Using debugger-linecache 1.2.0
Using debugger-ruby_core_source 1.3.2
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb
*** 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=/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby
/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `stat': No such file or directory # rb_file_s_stat - ./212/ruby_debug.h (Errno::ENOENT)
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `block in fu_each_src_dest'
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1587:in `fu_each_src_dest0'
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1571:in `fu_each_src_dest'
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:399:in `cp'
from extconf.rb:83:in `block in <main>'
from extconf.rb:82:in `each'
from extconf.rb:82:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /Users/aaronpardes/.rvm/gems/ruby-2.1.2#ocx/gems/debugger-1.6.6 for inspection.
Results logged to /Users/aaronpardes/.rvm/gems/ruby-2.1.2#ocx/extensions/x86_64-darwin-13/2.1.0-static/debugger-1.6.6/gem_make.out
An error occurred while installing debugger (1.6.6), and Bundler cannot continue.
Make sure that `gem install debugger -v '1.6.6'` succeeds before bundling.
When I try to run gem install debugger -v '1.6.6' I get the following output:
Building native extensions. This could take a while...
ERROR: Error installing debugger:
ERROR: Failed to build gem native extension.
/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb
*** 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=/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby
/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `stat': No such file or directory # rb_file_s_stat - ./212/ruby_debug.h (Errno::ENOENT)
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `block in fu_each_src_dest'
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1587:in `fu_each_src_dest0'
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1571:in `fu_each_src_dest'
from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:399:in `cp'
from extconf.rb:83:in `block in <main>'
from extconf.rb:82:in `each'
from extconf.rb:82:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /Users/aaronpardes/.rvm/gems/ruby-2.1.2#ocx/gems/debugger-1.6.6 for inspection.
Results logged to /Users/aaronpardes/.rvm/gems/ruby-2.1.2#ocx/extensions/x86_64-darwin-13/2.1.0-static/debugger-1.6.6/gem_make.out
I am very confused why this error came up all of a sudden. I have been up and running without issue for weeks. I've tried creating a new gemset with rvm and still encounter the same issue. After searching around I found recommendations to update dependencies first and then try bundle install but this did not solve the issue.
Ruby 2.1.2 isn't supported by debugger, unfortunately. Instead, use the byebug gem. See this discussion for more details.
Ruby 2.x is not supported by the debugger gem and you should use byebug instead. Once Rails 4.2.0 is released (or if you use the Rails 4.2.0rc versions) byebug will be the default debugger included in your Gemfile, but if you're on an earlier version of Rails then you'll need to make the change manually in your Gemfile.
Just replace
gem "debugger"
with
gem "byebug"
in your Gemfile and run a bundle install.
Some more background
Even the maintainer of the debugger gem makes this recommendation. The debugger gem's README on GitHub has the following note:
Only 1.9.2 and 1.9.3 are supported. For 2.X rubies, consider using byebug.
The maintainer has no intention of fixing this; he closed the issue debugger can't be installed on ruby 2.X unfixed, explaining that debugger never properly supported Ruby 2.X and that he now recommends byebug.
Additionally, the maintainer of debugger has not pushed a commit or even replied to a pull request since June 2014. The gem seems to be abandonware at this point.
Rails itself has adopted byebug as the official debugger for Ruby 2.X as of this pull request in April, and from Rails 4.2.0 onwards the Gemfile created when you run rails new my_new_app_name will reference byebug instead of debugger for Ruby 2.X users.
tl;dr
debugger is dead. Use byebug.
This monstrosity of a command ended up doing the trick for me:
gem install debugger-ruby_core_source && ARCHFLAGS="-I$(dirname -- "$(gem which debugger/ruby_core_source/ruby-$(ruby -v | awk '{sub(/p/, "-p", $2); print $2}')/vm_core.h)") -include vm_core.h" bundle install
My apologies.
Breaking it down:
First, install the Ruby headers.
gem install debugger-ruby_core_source
Now, if that succeeds we want to run bundle install but it needs to be able to find those Ruby headers. Grepping the output of gem contents debugger-rebuy_core_source, we find that it installs a bunch of different headers for different patchlevels of Ruby:
$ gem contents debugger-ruby_core_source | grep vm_core.h
/Users/andrew/.gem/ruby/2.0.0/gems/debugger-ruby_core_source-1.3.2/lib/debugger/ruby_core_source/ruby-1.9.2-p290/vm_core.h
/Users/andrew/.gem/ruby/2.0.0/gems/debugger-ruby_core_source-1.3.2/lib/debugger/ruby_core_source/ruby-1.9.2-p318/vm_core.h
/Users/andrew/.gem/ruby/2.0.0/gems/debugger-ruby_core_source-1.3.2/lib/debugger/ruby_core_source/ruby-1.9.2-p320/vm_core.h
...
What’s the current patch level?
$ ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
To transform that into the ruby-2.0.0-p318 format used by the debugger-ruby_core_source gem, we use awk to print only the second field of that version string, and change the p to -p:
$ ruby -v | awk '{sub(/p/, "-p", $2); print $2}'
2.0.0-p481
Now we run bundle install, with ARCHFLAGS set to add the directory containing the ruby headers to the include file search path, and preload vm_core.h:
gem install debugger-ruby_core_source \
&& ARCHFLAGS="-I$(dirname -- \
"$(gem which debugger/ruby_core_source/ruby-$(ruby -v | awk '{sub(/p/, "-p", $2); print $2}')/vm_core.h)") \
-include vm_core.h" \
bundle install
i.e.,
gem install debugger-ruby_core_source \
&& ARCHFLAGS="-I<path-to-dir_containing_vm_core.h> -include vm_core.h" \
bundle install
For those who's using gem 'pry-debugger' just change it to gem 'pry-byebug' in your Gemfile.
Unfortunatelly no answer solved this problem. As answered before by nickh, "Ruby 2.1.2 isn't supported by debugger".
I found a japanese post that allowed me to install this gem, but i don't take any responsibility for it, since it's not an official release. Do it at your own risk:
git clone https://github.com/mekishizufu/debugger.git
cd debugger
git checkout ca451a9bdf
gem build debugger.gemspec
gem install debugger-1.6.6.gem
Source: http://d.hatena.ne.jp/mabots/20140723/1406087504
**Step 1**
gilchristiano#rails-intro:~/workspace (master) $ rails --version
Could not find debugger-1.6.6 in any of the sources
Run `bundle install` to install missing gems.
**Step 2**
gilchristiano#rails-intro:~/workspace (master) $ debugger-1.6.6
bash: debugger-1.6.6: command not found
**Step 3**
gilchristiano#rails-intro:~/workspace (master) $ gem install debugger -v '1.6.6'
Building native extensions. This could take a while...
Successfully installed debugger-1.6.6
1 gem installed
**Step 4**
gilchristiano#rails-intro:~/workspace (master) $ bundle install
Related
I'm working on a rails project which uses ruby 2.1.5. I downloaded rvm, installed ruby 2.1.5 and am currently using that. I'm on Ubuntu 18.04. I receive the error below when I run bundle install
Also when I try gem install nokogiri -v '1.6.7.2' as directed, it installs just fine. I could not find another question where this was the case.
I looked at this question Error while installing Nokogiri (1.6.7) on El Capitan and tried all the solutions. This may be a different issue I am having. It might be related to rvm, but I am not sure.
$ bundle install
Fetching gem metadata from https://rubygems.org/........
Using rake 11.1.2
Using CFPropertyList 2.3.3
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.8.4
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Using activesupport 4.2.4
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.0.0
Fetching nokogiri 1.6.7.2
Installing nokogiri 1.6.7.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/media/mcgoy/CD25-ED8E/Upwork/EVSlideShow/Rails/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.7.2/ext/nokogiri
/usr/share/rvm/rubies/ruby-2.1.5/bin/ruby -r ./siteconf20190123-15188-1qpzj0b.rb extconf.rb
--use-system-libraries
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/share/rvm/rubies/ruby-2.1.5/bin/ruby
--help
--clean
/usr/share/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:456:in `try_do': The compiler failed to
generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/share/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:571:in `block in try_compile'
from /usr/share/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:522:in `with_werror'
from /usr/share/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:571:in `try_compile'
from extconf.rb:80:in `nokogiri_try_compile'
from extconf.rb:87:in `block in add_cflags'
from /usr/share/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/mkmf.rb:621:in `with_cflags'
from extconf.rb:86:in `add_cflags'
from extconf.rb:336:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/media/mcgoy/CD25-ED8E/Upwork/EVSlideShow/Rails/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.6.7.2/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in
/media/mcgoy/CD25-ED8E/Upwork/EVSlideShow/Rails/vendor/bundle/ruby/2.1.0/gems/nokogiri-1.6.7.2
for inspection.
Results logged to
/media/mcgoy/CD25-ED8E/Upwork/EVSlideShow/Rails/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.6.7.2/gem_make.out
An error occurred while installing nokogiri (1.6.7.2), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.7.2' --source 'https://rubygems.org/'` succeeds
before bundling.
In Gemfile:
rails was resolved to 4.2.4, which depends on
actionmailer was resolved to 4.2.4, which depends on
actionpack was resolved to 4.2.4, which depends on
actionview was resolved to 4.2.4, which depends on
rails-dom-testing was resolved to 1.0.7, which depends on
nokogiri
But as you can see, when I run gem install nokogiri -v '1.6.7.2' it looks like there is no problem
$ gem install nokogiri -v 1.6.7.2
Building native extensions. This could take a while...
Successfully installed nokogiri-1.6.7.2
Parsing documentation for nokogiri-1.6.7.2
Done installing documentation for nokogiri after 2 seconds
1 gem installed
as per reference here Installing Nokogiri
gem update --system
xcode-select --install # Then agree to the terms, even if you have done this before!
gem install nokogiri
# if that's still not working uninstall the old nokogiri
gem uninstall nokogiri
that option above for mac os and for ubuntu already mention by javier (in other answer, if the problem persist my suggestion you do gem uninstall nokogiri first and then do gem install nokogiri -v '1.6.7.2'
These are the instructions for ubuntu docs
sudo apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev
For rvm
sudo apt-get install libgmp-dev
Build with system libraries
sudo apt-get install libxml2-dev libxslt1-dev
Install
gem install nokogiri --use-system-libraries
I fixed it, but it may be an unsatisfying answer. I went through all of the advice, installed various dependencies, changed various settings. Nothing seemed to work. Then I deleted the project folder and pulled it again from Github, reinstalled rvm, ran bundle install again and it all worked normally.
So what was the one thing that I was missing? I can't be sure. But I can say if nothing else works, create a new folder and download the project again and run bundle install.. after installing all dependencies / tools first of course, found here -> https://nokogiri.org/tutorials/installing_nokogiri.html
when making a new ruby on rails app via my terminal, by the command "rails new newapp" I find the following error message in my terminal. It seems linked difficulties with installing bye bug 9.0.5. After a while the terminal says it can not succeed before bundling. I suppose this a major barrier to the correct development of my app. Can anyone help?
I am attaching the relevant terminal statements and highlight in bold what I think where the problem is.
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching dependency metadata from https://rubygems.org/
Resolving dependencies......
Using rake 11.2.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.9.0
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using pkg-config 1.1.7
Using rack 1.6.4
Using mime-types-data 3.2016.0521
Using arel 6.0.3
Using debug_inspector 0.0.2
Using bundler 1.12.5
Installing byebug 9.0.5 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/nicholaswenzel/.rbenv/versions/2.2.3/bin/ruby -r ./siteconf20160710-36604-3ys7vr.rb extconf.rb
creating Makefile
make "DESTDIR=" clean
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
make "DESTDIR="
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
make failed, exit code 1
Gem files will remain installed in /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/byebug-9.0.5 for inspection.
Results logged to /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/byebug-9.0.5/gem_make.out
Using coffee-script-source 1.10.0
Using execjs 2.7.0
Using thor 0.19.1
Using concurrent-ruby 1.0.2
Using multi_json 1.12.1
Using sass 3.4.22
Using tilt 2.0.5
Using spring 1.7.2
Using sqlite3 1.3.11
Using turbolinks-source 5.0.0
Using rdoc 4.2.2
Using tzinfo 1.2.2
Installing nokogiri 1.6.8 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/nicholaswenzel/.rbenv/versions/2.2.3/bin/ruby -r ./siteconf20160710-36604-1ukclqg.rb extconf.rb
Using pkg-config version 1.1.7
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=/Users/nicholaswenzel/.rbenv/versions/2.2.3/bin/$(RUBY_BASE_NAME)
--help
--clean
/Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:571:in `block in try_compile'
from /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:522:in `with_werror'
from /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:571:in `try_compile'
from extconf.rb:138:in `nokogiri_try_compile'
from extconf.rb:162:in `block in add_cflags'
from /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/2.2.0/mkmf.rb:619:in `with_cflags'
from extconf.rb:161:in `add_cflags'
from extconf.rb:414:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.8 for inspection.
Results logged to /Users/nicholaswenzel/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/nokogiri-1.6.8/gem_make.out
Using rack-test 0.6.3
Using mime-types 3.1
Using binding_of_caller 0.7.2
An error occurred while installing byebug (9.0.5), and Bundler cannot continue.
Make sure that `gem install byebug -v '9.0.5'` succeeds before bundling.
run bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted
Nicholass-MacBook-Pro:installmaster nicholaswenzel$
Try,
xcode-select --install
Hope this helps.
I'm trying to run bundle update as described at https://help.github.com/articles/using-jekyll-with-pages/ to update the github-pages gem on my Mac OS X 10.11.1. I get this error...
pschloss#polypay schlosslab.github.io (master) $ bundle update
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Using RedCloth 4.2.9
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.8.4
Using thread_safe 0.3.5
Using addressable 2.3.8
Using blankslate 2.1.2.4
Using fast-stemmer 1.0.2
Using coffee-script-source 1.10.0
Using execjs 2.6.0
Using colorator 0.1
Using ffi 1.9.10
Using multipart-post 2.0.0
Using gemoji 2.1.0
Using net-dns 0.8.0
Using public_suffix 1.5.3
Using jekyll-paginate 1.1.0
Using sass 3.4.21
Using rb-fsevent 0.9.7
Using kramdown 1.9.0
Using liquid 2.6.2
Using mercenary 0.3.5
Using posix-spawn 0.3.11
Using yajl-ruby 1.2.1
Using redcarpet 3.3.3
Using safe_yaml 1.0.4
Using jekyll-feed 0.3.1
Using mini_portile2 2.0.0
Using jekyll-sitemap 0.9.0
Using maruku 0.7.0
Using rdiscount 2.1.8
Using terminal-table 1.5.2
Using bundler 1.11.2
Using tzinfo 1.2.2
Using parslet 1.5.0
Using classifier-reborn 2.0.4
Using coffee-script 2.4.1
Using ethon 0.8.1
Using rb-inotify 0.9.5
Using faraday 0.9.2
Using jekyll-sass-converter 1.3.0
Using pygments.rb 0.6.3
Installing nokogiri 1.6.7.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/pschloss/Documents/websites/schlosslab.github.io/vendor/bundle/ruby/2.0.0/gems/nokogiri-1.6.7.2/ext/nokogiri
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r ./siteconf20160201-14595-1a3dixy.rb extconf.rb
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.0.0
checking for iconv.h... yes
checking for gzdopen() in -lz... yes
checking for iconv... no
-----
libiconv is missing. Please locate mkmf.log to investigate how it is failing.
-----
*** 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.0/usr/bin/ruby
--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
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/Users/pschloss/Documents/websites/schlosslab.github.io/vendor/bundle/ruby/2.0.0/extensions/universal-darwin-15/2.0.0/nokogiri-1.6.7.2/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /Users/pschloss/Documents/websites/schlosslab.github.io/vendor/bundle/ruby/2.0.0/gems/nokogiri-1.6.7.2 for inspection.
Results logged to /Users/pschloss/Documents/websites/schlosslab.github.io/vendor/bundle/ruby/2.0.0/extensions/universal-darwin-15/2.0.0/nokogiri-1.6.7.2/gem_make.out
Using activesupport 4.2.5.1
Using toml 0.1.2
Using jekyll-coffeescript 1.0.1
Using typhoeus 0.8.0
Using listen 3.0.5
Using sawyer 0.6.0
An error occurred while installing nokogiri (1.6.7.2), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.7.2'` succeeds before bundling.
As it suggests, I then run gem install nokogiri -v '1.6.7.2' and it installs fine. I repeat bundle update and get the same error as before. When I do nokogiri --version it comes back as 1.6.7.2:
$ nokogiri --version
# Nokogiri (1.6.7.2)
---
warnings: []
nokogiri: 1.6.7.2
ruby:
version: 2.3.0
platform: x86_64-darwin15
description: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
engine: ruby
libxml:
binding: extension
source: packaged
libxml2_path: "/Users/pschloss/.gem/ruby/2.3.0/gems/nokogiri-1.6.7.2/ports/x86_64-apple-darwin15.0.0/libxml2/2.9.2"
libxslt_path: "/Users/pschloss/.gem/ruby/2.3.0/gems/nokogiri-1.6.7.2/ports/x86_64-apple-darwin15.0.0/libxslt/1.1.28"
libxml2_patches:
- 0001-Revert-Missing-initialization-for-the-catalog-module.patch
- 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch
- 0003-Stop-parsing-on-entities-boundaries-errors.patch
- 0004-Cleanup-conditional-section-error-handling.patch
- 0005-CVE-2015-1819-Enforce-the-reader-to-run-in-constant-.patch
- 0006-Another-variation-of-overflow-in-Conditional-section.patch
- 0007-Fix-an-error-in-previous-Conditional-section-patch.patch
- 0008-CVE-2015-8035-Fix-XZ-compression-support-loop.patch
- 0009-Updated-config.guess.patch
- 0010-Fix-parsering-short-unclosed-comment-uninitialized-access.patch
- 0011-Avoid-extra-processing-of-MarkupDecl-when-EOF.patch
- 0012-Avoid-processing-entities-after-encoding-conversion-.patch
- 0013-CVE-2015-7497-Avoid-an-heap-buffer-overflow-in-xmlDi.patch
- 0014-CVE-2015-5312-Another-entity-expansion-issue.patch
- 0015-Add-xmlHaltParser-to-stop-the-parser.patch
- 0016-Detect-incoherency-on-GROW.patch
- 0017-CVE-2015-7500-Fix-memory-access-error-due-to-incorre.patch
- 0018-CVE-2015-8242-Buffer-overead-with-HTML-parser-in-pus.patch
- 0019-Do-not-print-error-context-when-there-is-none.patch
- 0020-xmlStopParser-reset-errNo.patch
- 0021-Reuse-xmlHaltParser-where-it-makes-sense.patch
libxslt_patches:
- 0001-Adding-doc-update-related-to-1.1.28.patch
- 0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch
- 0003-Initialize-pseudo-random-number-generator-with-curre.patch
- 0004-EXSLT-function-str-replace-is-broken-as-is.patch
- 0006-Fix-str-padding-to-work-with-UTF-8-strings.patch
- 0007-Separate-function-for-predicate-matching-in-patterns.patch
- 0008-Fix-direct-pattern-matching.patch
- 0009-Fix-certain-patterns-with-predicates.patch
- 0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch
- 0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch
- 0014-Fix-for-bug-436589.patch
- 0015-Fix-mkdir-for-mingw.patch
- 0016-Fix-for-type-confusion-in-preprocessing-attributes.patch
- 0017-Updated-config.guess.patch
compiled: 2.9.2
loaded: 2.9.2
Any suggestions? This doesn't seem like a nokogiri problem, but a github-pages or bundler problem (of course, I could be the problem too!)
The problem is with extension build process being unable to find libiconv for some reason.
Everyone around seems to be recommending the usage of an extra parameter for RubyGems, but the question explicitly states that gem alone actually installs the gem in question just fine. So this has something to do with the way your Bundler's bundle of gems is configured.
You can apply configuration to this specific bundle by using bundle config:
bundle config build.nokogiri --use-system-libraries
This, roughly, tells Bundler "whenever you install nokogiri, add --use-system-libraries".
...and then continue on:
bundle update
Credits to the fine people behind this answer.
Try the below code.
gem install nokogiri -- --use-system-libraries
Your bundle tries to install gem into vendor/bundle instead of system gems, that means that you probably tried --path vendor/bundle or --deployment - see cat .bundle/config
You can gem back to using system gems by running bundle install --system
I think same problem is faced many programmer before you & resolved this, if you ask anything on stackoverflow make sure this type of question have or not. anyway try this
gem install pg -- --with-pg-config= 'PATH_TO_YOUR_PG_CONFIG'
Thanks
edit
What worked for me was running:
brew doctor
I then had to chown a few files and delete a few things it asked me to.
I then ran
sudo gem install pg
and it worked. Not sure why it only worked with 'sudo' but when I tried before without it failed
I've used bundler to install a bunch of gems(most failed and I spent hours looking through internet posts on how to install the specific gems.
At the current moment running
bundle install
complains about the following
jacks-MacBook-Pro:techendo jsw$ bundle install
Fetching source index from https://rubygems.org/
Using rake 10.3.2
Using i18n 0.6.9
Using minitest 4.7.5
Using multi_json 1.10.1
Using thread_safe 0.3.4
Using tzinfo 0.3.39
Using activesupport 4.0.3
Using builder 3.1.4
Using erubis 2.7.0
Using rack 1.5.2
Using rack-test 0.6.2
Using actionpack 4.0.3
Using mime-types 1.25.1
Using polyglot 0.3.5
Using treetop 1.4.15
Using mail 2.5.4
Using actionmailer 4.0.3
Using active_utils 2.2.1
Using json 1.8.1
Using active_shipping 0.12.2
Using activemodel 4.0.3
Using activerecord-deprecated_finders 1.0.3
Using arel 4.0.2
Using activerecord 4.0.3
Using addressable 2.3.6
Using mini_portile 0.6.0
Using nokogiri 1.6.2.1
Using ruby-hmac 0.4.0
Using amazon-ecs 2.2.5
Using aws-sdk 1.42.0
Using bcrypt 3.1.7
Using multi_xml 0.5.5
Using httparty 0.13.1
Using multipart-post 2.0.0
Using faraday 0.9.0
Using jwt 1.0.0
Using oauth2 0.9.4
Using bitly 0.10.1
Using sass 3.2.19
Using bootstrap-sass 3.1.1.1
Using buftok 0.2.0
Using cinch 2.1.0
Using climate_control 0.0.3
Using cocaine 0.5.4
Using daemons 1.1.9
Using dalli 2.7.2
Using delayed_job 4.0.1
Using delayed_job_active_record 4.0.1
Using orm_adapter 0.5.0
Using thor 0.19.1
Using railties 4.0.3
Using warden 1.2.3
Using devise 3.2.4
Using diff-lcs 1.2.5
Using equalizer 0.0.9
Using exception_notification 4.0.1
Using excon 0.34.0
Using execjs 2.1.0
Using friendly_id 5.0.4
Using geocoder 1.2.1
Using gibbon 1.1.3
Using google_custom_search 0.3.1
Using heroku-api 0.3.18
Using heroku-deflater 0.5.3
Using hike 1.2.3
Using htmlentities 4.3.2
Using http_parser.rb 0.6.0
Using http 0.6.1
Using imgkit 1.4.1
Using jquery-rails 3.1.0
Using jquery-ui-rails 4.2.1
Using kgio 2.9.2
Using libv8 3.16.14.3
Using tilt 1.4.1
Using mail_view 2.0.4
Using mandrill-api 1.0.51
Using memcachier 0.0.2
Using memoizable 0.4.2
Using meta-tags 2.0.0
Using mixpanel-ruby 1.4.0
Using naught 1.0.0
Using nested_form 0.3.2
Using newrelic_rpm 3.8.1.221
Using paperclip 4.1.1
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/jsw/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Using config values from /Applications/Postgres.app/Contents/MacOS/bin/pg_config
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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=/Users/jsw/.rvm/rubies/ruby-2.1.1/bin/ruby
--with-pg
--without-pg
--with-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
extconf failed, exit code 1
Gem files will remain installed in /Users/jsw/.rvm/gems/ruby-2.1.1/gems/pg-0.17.1 for inspection.
Results logged to /Users/jsw/.rvm/gems/ruby-2.1.1/extensions/x86_64-darwin-12/2.1.0-static/pg-0.17.1/gem_make.out
An error occurred while installing pg (0.17.1), and
Bundler cannot continue.
Make sure that `gem install pg -v '0.17.1'` succeeds
before bundling.
On another stack overflow post the following was suggested
Here's how I fixed it (with homebrew):
Install another build of Xcode Tools (typing 'brew update' in the terminal will prompt you to update the Xcode build tools)
brew update
brew install postgresql
but when I do
brew install postgresql
I get the following:
Warning: postgresql-9.3.4 already installed, it's just not linked
I can't find a post that covers how to do this. Can someone explain how I'm suppose to link this? or how to the
libpq-fe.h header
I tried doing
brew uninstall postgresql
brew install postgresql
which gave me
brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.3.4...
jacks-MacBook-Pro:techendo jsw$ brew install postgresql
==> Downloading https://downloads.sf.net/project/mach
Already downloaded: /Library/Caches/Homebrew/postgresql-9.3.4.mavericks.bottle.2.tar.gz
==> Pouring postgresql-9.3.4.mavericks.bottle.2.tar.g
==> Caveats
If builds of PostgreSQL 9 are failing and you have version 8.x installed,
you may need to remove the previous version first. See:
https://github.com/Homebrew/homebrew/issues/issue/2510
To migrate existing data from a previous major version (pre-9.3) of PostgreSQL, see:
http://www.postgresql.org/docs/9.3/static/upgrading.html
When installing the postgres gem, including ARCHFLAGS is recommended:
ARCHFLAGS="-arch x86_64" gem install pg
To install gems without sudo, see the Homebrew wiki.
To have launchd start postgresql at login:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Then to load postgresql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Or, if you don't want/need launchctl, you can just run:
postgres -D /usr/local/var/postgres
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/man/man3/SPI_connect.3
/usr/local/share/man/man3 is not writable.
You can try again using:
brew link postgresql
==> Summary
🍺 /usr/local/Cellar/postgresql/9.3.4: 2921 files, 38M
It still says it's installed but not linked so I ran
brew link postgresql
I get the following
jacks-MacBook-Pro:techendo jsw$ brew link postgresql
Linking /usr/local/Cellar/postgresql/9.3.4...
Error: Could not symlink share/man/man3/SPI_connect.3
/usr/local/share/man/man3 is not writable.
It was suggested that I do
ARCHFLAGS="-arch x86_64" gem install pg
Which I did
jacks-MacBook-Pro:techendo jsw$ ARCHFLAGS="-arch x86_64" gem install pg
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/jsw/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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=/Users/jsw/.rvm/rubies/ruby-2.1.1/bin/ruby
--with-pg
--without-pg
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
extconf failed, exit code 1
Gem files will remain installed in /Users/jsw/.rvm/gems/ruby-2.1.1/gems/pg-0.17.1 for inspection.
Results logged to /Users/jsw/.rvm/gems/ruby-2.1.1/extensions/x86_64-darwin-12/2.1.0-static/pg-0.17.1/gem_make.out
What worked for me was running:
brew doctor
I then had to chown a few files and delete a few things it asked me to.
I then ran
sudo gem install pg
and it worked. Not sure why it only worked with 'sudo' but when I tried before without it failed
The problem is the same that this one:
Can't find the 'libpq-fe.h header when trying to install pg gem
brew install postgresql
got an error while trying to install devise gem. Added gem "devise", "~> 3.2.2" to my Gemlist and went into terminal to do the following:
Steven-Lims-MacBook-Pro:Pinteresting stevenlim$ bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.1)
Using i18n (0.6.9)
Using minitest (4.7.5)
Using multi_json (1.8.4)
Using atomic (1.1.14)
Using thread_safe (0.1.3)
Using tzinfo (0.3.38)
Using activesupport (4.0.2)
Using builder (3.1.4)
Using erubis (2.7.0)
Using rack (1.5.2)
Using rack-test (0.6.2)
Using actionpack (4.0.2)
Using mime-types (1.25.1)
Using polyglot (0.3.3)
Using treetop (1.4.15)
Using mail (2.5.4)
Using actionmailer (4.0.2)
Using activemodel (4.0.2)
Using activerecord-deprecated_finders (1.0.3)
Using arel (4.0.1)
Using activerecord (4.0.2)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb
checking for ruby/util.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=/usr/local/rvm/rubies/ruby-2.0.0-p353/bin/ruby
/usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:565:in `try_cpp'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:1044:in `block in have_header'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:895:in `block in checking_for'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:310:in `open'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:340:in `block in postpone'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:310:in `open'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:336:in `postpone'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:894:in `checking_for'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:1043:in `have_header'
from extconf.rb:14:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.0.0-p353/gems/bcrypt-ruby-3.1.2 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.0.0-p353/extensions/x86_64-darwin-10/2.0.0/bcrypt-ruby-3.1.2/gem_make.out
An error occurred while installing bcrypt-ruby (3.1.2), and Bundler cannot
continue.
Make sure that `gem install bcrypt-ruby -v '3.1.2'` succeeds before bundling.
Am new to programming and Ruby on Rails so kindly assist. Thanks!
managed to solve this. I had upgraded to OS Mavericks recently and problem came up.
Have tried gem install bcrypt-ruby -v '3.1.2' in terminal but encountered same problem.
Thereafter, went to install Xcode on App Store as running Xcode-select --install in terminal failed as well (program can't be found).
Thus I chanced upon this thread and followed advice to run sudo ln -s /usr/bin/llvm-gcc /usr/bin/gcc-4.2 in terminal.
Thread: gem install pg doesn't work on OSX Lion
Thereafter I ran gem install bcrypt-ruby -v '3.1.2' and bundle install in terminal and all good for now. Hope this works. Actually I don't know what I am doing but hopefully it works. Can someone enlighten me what I am actually doing?
Ran into this issue after updating OS X Mavericks to 10.9.5 which also updates Xcode (Version 6.0.1 (6A317)).
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/e/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.5
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: /usr/bin/c++ (c++ version )
extconf failed, exit code 1
Gem files will remain installed in /Users/e/.rvm/gems/ruby-2.1.1/gems/libv8-3.16.14.7 for inspection.
Results logged to /Users/e/.rvm/gems/ruby-2.1.1/extensions/x86_64-darwin-12/2.1.0-static/libv8-3.16.14.7/gem_make.out
An error occurred while installing libv8 (3.16.14.7), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.16.14.7'` succeeds before bundling.
To resolve: Must accept and finalise install of Xcode in order for bundle update to complete.
After finalising install of Xcode, bundle update completed without issue.