How to install ruby-debug when needing necessary libraries and/or headers
RubyRuby DebugRuby Problem Overview
My Rails is 3.2.1.4
, Ruby is 1.9.3p448
.
I got an error when I install ruby-debug
:
Building native extensions. This could take a while...
ERROR: Error installing ruby-debug:
ERROR: Failed to build gem native extension.
/home/hxh/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb
Can't handle 1.9.x yet
*** 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=/home/hxh/.rvm/rubies/ruby-1.9.3-p448/bin/ruby
Gem files will remain installed in /home/hxh/.rvm/gems/ruby-1.9.3-p448/gems/linecache-0.46 for inspection.
Results logged to /home/hxh/.rvm/gems/ruby-1.9.3-p448/gems/linecache-0.46/ext/gem_make.out
Who can tell me where the error is?
Ruby Solutions
Solution 1 - Ruby
The error is in the mkmf.log file. That file should be located at /home/hxh/.rvm/gems/ruby-1.9.3-p448/gems/linecache-0.46/ext/linecache/mkmf.log
.
If not, you can use
sudo find / -name mkmf.log
to find it.
To troubleshoot further, see "https://stackoverflow.com/questions/12336160/how-to-install-nokogiri-ruby-gem-with-mkmf-log-saying-libiconv-not-found"
[1]: https://stackoverflow.com/questions/12336160/how-to-install-nokogiri-ruby-gem-with-mkmf-log-saying-libiconv-not-found "this thread."
Solution 2 - Ruby
I am using Mac El Capitan. In my case it was caused by the missing developer tool. I solved it by installing the developer tool via xcode-select --install
. After that bundle install worked fine again.
Solution 3 - Ruby
You're most likely missing some file headers (e.g. zlib or libiconv), so try installing them.
Linux: sudo apt-get install libz-dev libiconv-hook1 libiconv-hook-dev
OS X: brew install libiconv && xcode-select --install
Otherwise check your mkmf.log
file for more specific details.
Solution 4 - Ruby
It seems to be a issue with permission of gcc.. however, if you're using OS X, you may encounter this issue if you've updated your XCode but haven't agree to their terms & conditions yet.. try typing gcc
in your terminal would show you what if you've agreed.
Solution 5 - Ruby
I was facing the same issue running MacOS Big Sur version 11.1 and Xcode Version 12.4 (12D4e). In my case there was no command-line tool selected in Xcode.
I just followed the following steps to fix the problem:
- Start Xcode.
- Open the preferences using ā+,.
- Select the Locations tab.
- Select command-line tool (Xcode 12.4 12D4E in my case).
- Run
sudo gem install cocoapods
(in my case).
Solution 6 - Ruby
My mkmf.log showed that gcc (4.8.2 I think) didn't like a specific argument that was being used by atomic on
$ gem install atomic
So I had a very similar situation. The answer for me was to upgrade gcc/gcc-libs and lib tool.
I use Arch linux, and only Arch linux. The proper way to do this is to run
$ sudo pacman -Syu
which upgrades all system packages.
I installed Rails and hadn't run a system update since, which is where the issue came from. In most other *nix distros, you would update to the latest version of these packages by name, i.e. with apt, it would be something along the lines of
$ sudo apt-get update
followed by
$ sudo apt-get upgrade {package-name}
Solution 7 - Ruby
For what it's worth, using Ruby 2.0.0 I was having this problem on OSX 10.10.
I ended up running brew update
, which resolved some conflicts, then installed the gem and it was fine.
Solution 8 - Ruby
The answer of kenorb worked for me on Ubuntu 16.04 when I was trying installing rails! Thanks! I followed these steps below for installing rails:
- sudo apt-get install ruby-full
- sudo apt-get install libz-dev libiconv-hook1 libiconv-hook-dev
- sudo gem install rails
Solution 9 - Ruby
I had the issue because gcc
wasn't available on my machine.
Fixed it by installing gcc
.
sudo apt install build-essential
Solution 10 - Ruby
This worked for me. Nokogiri was the problem.
Try the following if you are using Alpine-Linux(or equivalent command for your OS):
apk add build-base
And then install Nokogiri using:
gem install nokogiri -- --without-pkg-config --with-libxml-2.0-config
Solution 11 - Ruby
This is probably happening because your computer has an older version of Ruby, so first update Ruby. This worked for Ruby 2.6.3+.
Open terminal and enter:
curl -L https://get.rvm.io | bash -s stable
Then:
rvm install ruby-2.6
This will install Ruby for you if it wasn't already installed, then update Ruby to the new version:
rvm use ruby-2.6.3
This will possibly fix your issue. You can now enter:
sudo gem install cocoapods
pod setup
If RVM is not installed in your system, then use:
$HOME/.rvm/scripts/rvm
rvm
Solution 12 - Ruby
The problem is resolved with next command: sudo apt install build-essential
Solution 13 - Ruby
Install RVM and use it to install Ruby 2.6.x:
curl -sSL https://get.rvm.io | bash
rvm install 2.6.x
rvm use ruby-2.6.x
Now try and it should work:
sudo gem install cocoapods
Solution 14 - Ruby
This worked for me:
sudo apt-get install libmysqlclient-dev