Bug #3051
closedpsych is too osx-specifc
Description
=begin
ext/psych/extconf.rb only looks in Macports' directories for libyaml, and will not look in places other OSs may use (such as /usr/pkg for NetBSD.)
Additionally, the message displayed is very OSX specific.
=end
Updated by naruse (Yui NARUSE) over 14 years ago
=begin
(2010/03/30 6:19), Aaron Patterson wrote:
On Tue, Mar 30, 2010 at 06:04:59AM +0900, Michael Graff wrote:
Bug #3051: psych is too osx-specifc
http://redmine.ruby-lang.org/issues/show/3051Author: Michael Graff
Status: Open, Priority: Normal
ruby -v: ruby 1.9.2dev (2010-03-26 trunk 27055) [i386-netbsdelf5.0.]ext/psych/extconf.rb only looks in Macports' directories for libyaml, and will not look in places other OSs may use (such as /usr/pkg for NetBSD.)
I can't make the extconf look in every directory for every system. If
it can't be found under /opt/local, it will look under system paths. Do
you have a suggestion for a fix?
You can give additional search path
./configure --with-opt-dir=/usr/pkg
This also applied to /opt/local for macports.
So following patch seems correct for bundled psych:
diff --git a/ext/psych/extconf.rb b/ext/psych/extconf.rb
index 673b950..cb74776 100644
--- a/ext/psych/extconf.rb
+++ b/ext/psych/extconf.rb
@@ -2,16 +2,10 @@ require 'mkmf'
:stopdoc:¶
-RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']¶
-INCLUDEDIR = Config::CONFIG['includedir']
-LIBDIR = Config::CONFIG['libdir']
-LIB_DIRS = ['/opt/local/lib', '/usr/local/lib', LIBDIR, '/usr/lib']
-libyaml = dir_config 'libyaml', '/opt/local/include', '/opt/local/lib'
+dir_config('libyaml')
def asplode missing
- abort "#{missing} is missing. Try 'port install libyaml +universal' " +
-
"or 'yum install libyaml-devel'"
- abort "#{missing} is missing. libyaml required."
end
asplode('yaml.h') unless find_header 'yaml.h'
Additionally, the message displayed is very OSX specific.
The error message displays installation instructions to use macports or
yum. Again, I don't know every packaging system for every operating
system. Should I make the message more generic, and in my opinion less
helpful?
Other bundled libraries doesn't show such specific message.
So psych should follow them.
Note that this cannot apply to psych gem; Ruby is usually installed
through packages and its dependency is manged.
Users who install Ruby from source should know how to install
the dependency until the name of the library is given.
--
NARUSE, Yui naruse@airemix.jp
=end
Updated by Anonymous over 14 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r27100.
Michael, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end