Danek Duvall wrote:
> On Wed, Dec 06, 2006 at 12:50:52PM -0800, April Chin wrote:
> > For building l10n messages for the ksh93 project, we need to use ksh93 
> > itself
> > and the AT&T libraries it uses--libast, libshell, libcmd, and libdll.
> > This process also requires using another AT&T library,
> > libpp, which will not be part of the Solaris release, although
> > it has dependencies on (and should probably be kept in sync with) libast.
> 
> Ah.  This last was not something I was aware of.  Can you explain what this
> library

Some kind of C preprocessor library required for the AST
msgcc/msgcpp/etc. tools which are used to create the localisation
(=l10n) catalogs.

> is and why it won't be delivered?

libpp is not delivered because it is not a direct dependicy of ksh93,
only the AST message catalog generation tools (msgcc/msgcpp/etc.) need
it. The message catalog generation tools are not delivered yet because
the ksh93/libshell API is not "public" yet, which means that there is no
(Sun official) way to create ksh93 plugins which would require
localisation and therefore these tools are not shipped (which is a
little bit frustrating as the "rules" bite us very badly in this case...
;-( ).

> > 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?

Yes, you could always construct an artificial case where this could
happen. One possibility would be to use #pragmas like "#pragma
redefine_extname   fopen fopen64" to rename functions. This would break
horribly, however the breakage will occur with libast (which is at one
point provided by the system itself) and not with libpp as libast is a
platform/OS/etc.-abstraction library which wraps nearly everything
except very basic things like |strcpy()| etc.

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)

Reply via email to