[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Frontpage and Debian (SOLVED!)



Dale Scheetz <dwarf@polaris.net> 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.


Reply to: