Hi, experts, Thanks very much for your valuable help.
Now I have another question: On solaris, it is recommended to use RUNPATH instead of LD_LIBRARY_PATH to locate shared libraries. For Mozilla, we use following way to locate shared libraries: set "$ORIGIN: $ORIGIN/.." into every shared libraries' runpath (by using -R '$ORIGIN:$ORIGIN/..' option). This works fine in the release build. But in developer's workspace, Mozilla shared libraries are put under directories "$MOZILLA_ROOT/dist/bin" and "$MOZILLA_ROOT/dist/bin/components". But these shared libraries are actually *symbol links* which link to real shared libraries scattered in other sub-directories under $MOZILLA_ROOT. Shared libraries under "dist/bin/components" depend on some shared libraries under "dist/bin". In this situation, $ORIGIN will have problem to locate shared libraries, because $ORIGIN will be replaced with *real path* (i.e. the symbol link points to). E.g. a shared library dist/bin/components/libbar.so depends on dist/bin/libfoo.so. When dist/bin/components/libbar.so is loaded is will use libbar.so's *real-path/.. *instead of *dist/bin/components/..* to try to locate libfoo.so. Of course, ld.so.1 will fail to find it. To solve the problem, I want to use "*.*" to replace "$ORIGIN" in "-R" option. Can I do that? I think the only difference between "$ORIGIN" and "." is the way they handle symbol link. Is that right? Thanks again Brian Michael Walker wrote: > Adam Leventhal wrote: > >> On Mon, Nov 07, 2005 at 06:22:13AM -0800, Michael Walker wrote: >> >>>> In your last e-mail, you say " When *libthread* is loaded,you cause >>>> the threading libraries to enforce the POSIX model for the threads >>>> library instead of the Solaris one." I think it should be >>>> "libpthread" right? >>> >>> >>> yes - libpthread. >> >> >> >> As far as I know, as of Solaris 10 linking against libpthread is a no-op >> in terms of functionality. If you look closely, you'll see that >> libpthread >> is pretty much empty -- there's not even a .text section. >> >> Adam >> > > > Yup - Adam's right. libpthread caused a behaviour change back > in S9. Things were changes in S10 so that it's no longer > required. > > > _Mike_ > >
