Red Hat Bugzilla – Bug 855626
Passenger installation via gem
Last modified: 2012-09-17 01:54:36 EDT
Description of problem:
Installation of (might not be only this) passenger (gem install passenger) fails with the following error:
Building native extensions. This could take a while...
ERROR: Error installing passenger:
ERROR: Failed to build gem native extension.
extconf.rb:13: Use RbConfig instead of obsolete and deprecated Config.
/usr/share/rubygems/rubygems/ext/builder.rb:31:in `exec': No such file or directory - make (Errno::ENOENT)
from /usr/share/rubygems/rubygems/ext/builder.rb:31:in `block in get_status_of_forked_command'
from /usr/share/rubygems/rubygems/ext/builder.rb:23:in `fork'
from /usr/share/rubygems/rubygems/ext/builder.rb:23:in `get_status_of_forked_command'
from /usr/share/rubygems/rubygems/ext/builder.rb:84:in `block in make'
from /usr/share/rubygems/rubygems/ext/builder.rb:82:in `each'
from /usr/share/rubygems/rubygems/ext/builder.rb:82:in `make'
from /usr/share/rubygems/rubygems/ext/ext_conf_builder.rb:18:in `build'
from /usr/share/rubygems/rubygems/installer.rb:536:in `block (2 levels) in build_extensions'
from /usr/share/rubygems/rubygems/installer.rb:535:in `chdir'
from /usr/share/rubygems/rubygems/installer.rb:535:in `block in build_extensions'
from /usr/share/rubygems/rubygems/installer.rb:509:in `each'
from /usr/share/rubygems/rubygems/installer.rb:509:in `build_extensions'
from /usr/share/rubygems/rubygems/installer.rb:180:in `install'
from /usr/share/rubygems/rubygems/dependency_installer.rb:297:in `block in install'
from /usr/share/rubygems/rubygems/dependency_installer.rb:270:in `each'
from /usr/share/rubygems/rubygems/dependency_installer.rb:270:in `each_with_index'
from /usr/share/rubygems/rubygems/dependency_installer.rb:270:in `install'
from /usr/share/rubygems/rubygems/commands/install_command.rb:121:in `block in execute'
from /usr/share/rubygems/rubygems/commands/install_command.rb:115:in `each'
from /usr/share/rubygems/rubygems/commands/install_command.rb:115:in `execute'
from /usr/share/rubygems/rubygems/command.rb:278:in `invoke'
from /usr/share/rubygems/rubygems/command_manager.rb:147:in `process_args'
from /usr/share/rubygems/rubygems/command_manager.rb:117:in `run'
from /usr/share/rubygems/rubygems/gem_runner.rb:65:in `run'
from /bin/gem:30:in `<main>'
Gem files will remain installed in /usr/local/share/gems/gems/fastthread-1.0.7 for inspection.
Results logged to /usr/local/share/gems/gems/fastthread-1.0.7/ext/fastthread/gem_make.out
Version-Release number of selected component (if applicable):
Steps to Reproduce:
yum install ruby rubygems
gem install passenger
passenger installed and ready
Searched for several terms and messages using Google.
Might remember some other packages made problems in the past -> might be a bigger problem.
I have installed httpd, php, mysql, ..., too and tried to set up some vhosts running rails applications.
It seems that you don't have "make" installed. Could you try "yum install make" and repeat the installation? I'm not sure, but you may also need to install some other packages to get passenger compiled properly: asciidoc, doxygen, graphviz, httpd-devel, libev-devel, source-highlight.
BTW Fedora already has passenger packaged as RPM, although not in stable repository yet. You can try that out by using "yum install rubygem-passenger --enablerepo=updates-testing". This comes with one of the great advantages of RPM-packaged gems: you will not need development dependencies (as mentioned above) on your system and the software will get installed ok with correct gem and non-gem runtime depencies.
yum install make asciidoc doxygen graphviz httpd-devel libev-devel source-highlight
made it work. Thanks for your help.
The ruby errors are kinda irritating if you are not into it! What made you guess it could be make? What advice could you give me if I have further problems with ruby dependencies? How to i easily solve those problems without digging into every detail?
I hoped for a rpm because it would make things a lot easier for me.
(In reply to comment #2)
> yum install make asciidoc doxygen graphviz httpd-devel libev-devel
> made it work. Thanks for your help.
Great. You're welcome.
> The ruby errors are kinda irritating if you are not into it! What made you
> guess it could be make? What advice could you give me if I have further
> problems with ruby dependencies? How to i easily solve those problems
> without digging into every detail?
One of the first lines of the error message says:
/usr/share/rubygems/rubygems/ext/builder.rb:31:in `exec': No such file or directory - make
which basically says that the RubyGems C extension builder was trying to execute a program named "make".
Well, my advice here is to use system-packaged Gems. Solving these dependency problems is one of their great advantages (you don't need to care about the dependencies, distro packagers do that).
> I hoped for a rpm because it would make things a lot easier for me.
Passenger took a great packaging effort and has reached Fedora official repositories very recently, therefore it is only in updates-testing yet (but it should reach the main repository any day now, AFAIK). For now, you can install it from updates-testing like this:
"yum install rubygem-passenger --enablerepo=updates-testing"