In article <200201102331.g0ANVfh02793 / sharui.nakada.kanuma.tochigi.jp>,
 <nobu.nokada / softhome.net> wrote:
>Hi,
>
>At Fri, 11 Jan 2002 07:23:12 +0900,
>ptkwt / shell1.aracnet.com (Phil Tomson) wrote:
>> This seems backwards - I thought that if you uncomment a line in ext/Setup 
>> that it will statically link that library and if you leave it commented it 
>> is dynamically linked.
>
>That's right.
>
>> >From the README in the Ruby source:
>>  " 4. Remove comment mark(#) before the module names from ext/Setup (or
>>      add module names if not present), if you want to link modules
>>      statically."
>
>That is, "uncomment to link statically."
>
>> I'm so confused....
>
>What?
>
Because it looks like if I uncomment the line that library is dynamically 
linked (at least in the case of curses) because ldd reports that ruby 
needs libncurses.so after building with curses uncommented.  ldd prints 
shared library dependencies, so if I built with curses uncommented in 
ext/Setup I shouldn't see libncurses.so listed in the output of:
ldd ruby

But I do.  And if I comment the curses line in ext/Setup and then build 
ruby I don't see libncurses.so listed from 'ldd ruby' - which means that it 
must have been statically linked into the ruby binary.

Like I said before, it seems to be backward unless I'm totally 
misunderstanding what ldd is telling me.

I'm primarily trying to statically link libcrypt into the Ruby binary, but 
in that case it doesn't matter if I have all of the lines with 'digest' 
commented in ext/Setup or not - ldd still lists libcrypt as a dependency.  
At lest with curses I see some kind of change (even if it does seem 
backward).

BTW: I'm running on Linux and building Ruby 1.6.6

Phil