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

Reply via email to