The last dinkleberry has to do with libintl. On OS/X:
> $ ldd ../src/shar > libintl.so.8 => /usr/local/lib/libintl.so.8 (0x0000020000036000) > libc.so.6.1 => /lib/libc.so.6.1 (0x0000020000054000) > libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00000200001f4000) > /lib/ld-linux.so.2 (0x0000020000000000) > $ unset LD_LIBRARY_PATH > $ ldd ../src/shar > libintl.so.8 => not found > libc.so.6.1 => /lib/libc.so.6.1 (0x0000020000036000) > /lib/ld-linux.so.2 (0x0000020000000000) There must be some magic that I am missing. I have a bunch of "intl" files, including m4 macros, but something is wrong: > $ find . -type f -name '*intl*' -o -name '*gettext*' > ./intl/gettext.c > ./intl/intl-compat.c > ./intl/dcngettext.c > ./intl/libintl.rc > ./intl/ngettext.c > ./intl/dcgettext.c > ./intl/dcigettext.c > ./intl/intl-exports.c > ./intl/gettextP.h > ./intl/dgettext.c > ./intl/libgnuintl.h.in > ./intl/dngettext.c > ./libopts/gettext.h > ./lib/gettext.h > ./m4/gettext.m4 > ./m4/intldir.m4 > ./m4/intlmacosx.m4 > ./m4/intl.m4 It _looks_ like it finds libintl in /usr/local/lib and then links the executables without marking it with: -Wl,-rpath -Wl,/usr/local/lib Shouldn't that incantation be pretty automatic?