Feature #14656
closedImprove mkmf error message when ruby.h is missing
Description
Without the development tools, trying to install most gems results in the following error :
mkmf.rb can't find header files for ruby at #{$hdrdir}/ruby.h
Copy-pasting the error into a search engine yields numerous versions of the same solution : installing the ruby development environment (package ruby-dev
or ruby-devel
on most Linux distributions) solves the issue.
Maybe the error message could hint at this solution? I found the following line further down in the same file that could be added after the current error message :
You have to install development tools first.
Updated by nobu (Nobuyoshi Nakada) about 6 years ago
"Development tools" sound like compiler toolchain or similar, as mkmf.rb raises RuntimeError
with the message:
The compiler failed to generate an executable file.
You have to install development tools first.
Updated by nobu (Nobuyoshi Nakada) about 6 years ago
- Status changed from Open to Closed
Applied in changeset trunk|r63061.
Improve mkmf error message
- lib/mkmf.rb: Improve the error message when ruby.h is missing,
to suggest installing separate packages. [Feature #14656]
Updated by shevegen (Robert A. Heiler) about 6 years ago
nobu already solved this, but I wanted to make one comment to:
Maybe the error message could hint at this solution?
I think one problem is that the splitting of packages is done
by distributions, not by the ruby core team or anyone else.
When I compile ruby from source, I do have mkmf available.
In an ideal world, people would look at whoever made the
changes to ruby (e. g. by removing mkmf and putting it into
a separate package) rather than upstream developers who did
not make the change. But I can also understand end users being
frustrated; that has been one reason why we have projects such
as rvm, chruby and so forth.