Optional libraries : openssl, readline, zlib, what is needed

Hello,

Is there a way to know what are the optional libraries should be

installed to assure that a Ruby installation from sources comes out
nicely with everything functional?

Common missing libraries in my experience, and web searches are:

zlib-devel (required by gems), openssl-devel required by Capistrano),
readline-devel (required by IRB and the Rails Console)

If those libraries are not present, Ruby will be installed without

problem after ./configure, make and sudo make install, but later a lot
of features will be missing.

Thanks in advance for any suggestion


Aníbal Rojas
http://www.rubycorner.com
http://www.hasmanydevelopers.com
http://www.lacaraoscura.com

“Aníbal” [email protected] writes:

Hello,

Is there a way to know what are the optional libraries should be

installed to assure that a Ruby installation from sources comes out
nicely with everything functional?

There seems to be a lot of room for interpretation there.

Common missing libraries in my experience, and web searches are:

zlib-devel (required by gems), openssl-devel required by Capistrano),
readline-devel (required by IRB and the Rails Console)

It seems like you already have the list given your own interpretation.

If those libraries are not present, Ruby will be installed without

problem after ./configure, make and sudo make install, but later a lot
of features will be missing.

Thanks in advance for any suggestion

One nice thing to do (given my own interpretation) is to look through
the ext directory and see what dependencies are possible, then
either pick what’s important to you, or just go for maximum coverage.
Directories in ext/ tend to be named such that either they have
obvious external dependencies (ext/openssl, ext/readline, ext/tk), or
no external dependencies (ext/syck). For even more detail, you can
look at the extconf.rb file in each ext directory, e.g.

[/src/lang/ruby/core/ruby-1.8.5-p12]0% cat ext/curses/extconf.rb
require ‘mkmf’

dir_config(‘curses’)
dir_config(‘ncurses’)
dir_config(‘termcap’)
[…]

(So now you know the curses extension will work with curses or
ncurses.)

Steve