Project

General

Profile

Actions

Bug #7385

closed

Compilation of Ruby should fail when libyaml is not present on system

Added by vo.x (Vit Ondruch) over 11 years ago. Updated over 11 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
2.0
Backport:
[ruby-core:49526]

Description

=begin
Quoting from [1]:

If libyaml is not installed properly, you cannot compile Psych; no YAML library is available by default. You will see the following message in the build log:

configuring psych
yaml.h is missing. Please install libyaml.
Failed to configure psych. It will not be installed.

More concretely, you cannot invoke gem command:

$ gem
.../lib/ruby/2.0.0/yaml.rb:6:in <top (required)>': It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. .../custom_require.rb:36:in require': cannot load such file -- psych (LoadError)

Since this seems to be real world problem [ruby-core:49416], the compilation should fail with error message, to avoid producing broken Ruby installation

[1] http://bugs.ruby-lang.org/projects/ruby/wiki/200UpgradeNotesDraft
=end

Updated by nobu (Nobuyoshi Nakada) over 11 years ago

  • Status changed from Open to Rejected

Even if gem command can't run, ruby itself can run.

Updated by vo.x (Vit Ondruch) over 11 years ago

Then RubyGems should be automatically disabled or something. It is like if Ruby would segfaulted under some scenarios and you would say that it is okay, since you can use it for different tasks.

Actually, there could be for example --disable-libyaml switch, which you would use to skip the psych build and made the build successful even if libyaml is not present and RubyGems are broken therefore.

Actions

Also available in: Atom PDF

Like0
Like0Like0