Danek Duvall writes: > > After some discussion, we'd like to build the message files by > > pointing LD_LIBRARY_PATH at a newly-created temporary directory > > under $(TMPDIR) (or /tmp by default) which would contain symlinks > > to the needed AT&T libraries in the proto area and a symlink to the > > newly-built libpp in $(SRCDIR)/usr/lib/libpp/$(MACH)/libpp.so.1. > > This would certainly be safer than using $ROOT, but the problem doesn't > entirely disappear -- if there are any interfaces between the AT&T > libraries and libc (and any other libraries loaded by running ksh93) which > have changed incompatibly. Could that ever happen?
The AT&T library in question will have been built against the proto area's header files. Thus, if someone decides that we need to change the signature of a function (using redefine_extname and a #define), we'll end up with inadvertent references from the newly-built AT&T library to the not-yet-existent redefined symbol. Perhaps unlikely, but not impossible. I think using LD_LIBRARY_PATH (or, for that matter, LD_PRELOAD) as any part of the build process ought to be avoided. We go to great lengths elsewhere to make sure that the few bits that must be run on the build machine are built correctly -- not using the proto area at all. -- James Carlson, KISS Network <james.d.carlson at sun.com> Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
