Dale Scheetz <[EMAIL PROTECTED]> writes: > You are confusing ld.so with gcc. The compiler/linker doesn't search > /usr/local, you would need to direct it to look there. What you need to > put into /usr/local/lib is the shared libraries used by ld.so during > program loading. This path is on the list of paths checked by ld.so and > will result in the correct library being "available" to the program that > needs it.
Dale, I'm afraid that you are the one who is confused. That entire paragraph is incorrect. First, ld _does_ search /usr/local by default. This is easy to test, but it's also easy to check other ways: $ strings /usr/bin/ld | egrep /usr/local/lib SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/elf_i386/lib); SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/elf_i386/lib); SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/elf_i386/lib); Second, your analysis of ld.so's behavior is wrong. The fact is, the two versions of libg++ have the same soname. Thus ld.so cannot, for all intents and purposes, distinguish between them. So only one of these will be visible through ld.so, and it's going to be the same one for all programs, and it's inevitably going to be the wrong version for one of those programs If you doubt this, please experiment with the procedure you suggest. Try putting an alternate version of libg++ in /usr/local/lib, run ldconfig, then run ldconfig -p. You will find only one listing for libg++---I don't think it's documented _which_ one will show up, but it'll only be one. Adam, trust me, I went through this three months ago, I got involved in some significant discussion on rtr's forum, and the best possible solution, the one that rtr itself recommends, is the one I described above. Put the special libraries in a special place, and let apache know about it using SetEnv. This is the only thing that will keep all of your programs happy, which means it's the only way that you're not going to end up pulling your hair out down the road. Mike.