Bug #7385

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

Added by Vit Ondruch over 1 year ago. Updated over 1 year ago.

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

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 , the compilation should fail with error message, to avoid producing broken Ruby installation

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

History

#1 Updated by Nobuyoshi Nakada over 1 year ago

  • Status changed from Open to Rejected

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

#2 Updated by Vit Ondruch over 1 year 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.

Also available in: Atom PDF