More installer questions


I have a few questions about the installer.

I noticed that when compiling, the path is included
in the compile. Why would this path be included since it is
not even known to exist?
For example, if prefix is set during ./configure, it shows up during
make as:

gcc -g -O2 -I. -I. -I/include -c array.c

My next question is what does it really mean when the libs in
ext/Setup are uncommented. I know that the docs say it means
to statically link libs, but I also perceive that those libs are not linked
into the ruby executable, or I would not get the error:

-> ./irb
irb(main):001:0> require 'tk’
LoadError: No such file to load – tcltklib
from /home/jfreeze/ruby/lib/ruby/1.6/tk.rb:7:in require' from /home/jfreeze/ruby/lib/ruby/1.6/tk.rb:7 from (irb):1:inrequire’
from (irb):1

Even though I was able to successfully compile ruby with a limited
path, I could not run ruby with that same path.

Incidently, the above error goes away if I add /usr/local/bin to the path.
But I don’t understand this since the tcltklib is not in /usr/local/lib.

And, my last question. I compiled a local static version of ruby
and set my path to /bin:/usr/bin:/bin.
Running ruby works fine, but running irb without the full path
to irb produces the error:

-> irb
/home/jfreeze/ruby/lib/ruby/1.6/irb/completion.rb:10:in require': No such file to load -- readline (LoadError) from /home/jfreeze/ruby/lib/ruby/1.6/irb/completion.rb:10 from /home/jfreeze/ruby/lib/ruby/1.6/irb/init.rb:197:inrequire’
from /home/jfreeze/ruby/lib/ruby/1.6/irb/init.rb:197:in load_modules' from /home/jfreeze/ruby/lib/ruby/1.6/irb/init.rb:195:ineach’
from /home/jfreeze/ruby/lib/ruby/1.6/irb/init.rb:195:in load_modules' from /home/jfreeze/ruby/lib/ruby/1.6/irb.rb:52:instart’
from /home/jfreeze/ruby/bin/irb:13

But, specifying the full path seems to work:


Can someone tell me why is the full path to irb needed in this case.

Thanks much.


Jim Freeze
If only I had something clever to say for my comment…