How to install ruby-debug when needing necessary libraries and/or headers

RubyRuby Debug

Ruby 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:

  1. Start Xcode.
  2. Open the preferences using āŒ˜+,.
  3. Select the Locations tab.
  4. Select command-line tool (Xcode 12.4 12D4E in my case).
  5. Run sudo gem install cocoapods (in my case).

enter image description here

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:

  1. sudo apt-get install ruby-full
  2. sudo apt-get install libz-dev libiconv-hook1 libiconv-hook-dev
  3. 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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionHXHView Question on Stackoverflow
Solution 1 - Rubyskibum55View Answer on Stackoverflow
Solution 2 - RubyGusterView Answer on Stackoverflow
Solution 3 - RubykenorbView Answer on Stackoverflow
Solution 4 - RubysongyyView Answer on Stackoverflow
Solution 5 - RubyUsama AzamView Answer on Stackoverflow
Solution 6 - RubyhumbolightView Answer on Stackoverflow
Solution 7 - RubyetusmView Answer on Stackoverflow
Solution 8 - RubyheronsanchesView Answer on Stackoverflow
Solution 9 - RubyFloris DevreeseView Answer on Stackoverflow
Solution 10 - RubyDhivya DandapaniView Answer on Stackoverflow
Solution 11 - RubyVikash SinhaView Answer on Stackoverflow
Solution 12 - RubyOgnjen StanisavljevicView Answer on Stackoverflow
Solution 13 - RubyAlok ChandraView Answer on Stackoverflow
Solution 14 - RubySahilView Answer on Stackoverflow