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