[csw-maintainers] Runtime linker pathes in GAR

Dagobert Michelsen dam at opencsw.org
Wed Apr 1 21:35:25 CEST 2009


Hi Chad,

Am 01.04.2009 um 19:15 schrieb Chad Harp:
> I think I need a better understanding of what I should be doing.
> Several of my packages have path problems due to quoting.  Should
> I be looking for the correct combinations of variable to fix it,
> or will GAR be fixed to deal with it?

Ok, now here is the rationale why things are as they are now:

- /opt/csw/lib/$ISALIST is needed if and only if libraries are
   linked that may contain optimizations. Otherwise it is best to
   avoid $ISALIST completely. This can be done by setting
     NOISALIST = 1

- I put -R for runtime linker path in LDFLAGS because in the last
   discussion LD_OPTIONS was considered bad, as it is always applied
   first in linking regardless of other flags. Unfortunately these
   flags are passwd through multiple commands, each with evaluation
   of the argument. Now $ISALIST looks like a variable and must be
   shielded from evaluation by quoting. The amount of quoting depends
   on the number of evaluation, e. g. if libtool is used, a custom
   Makefile, etc.
   The number of quotings can be adjusted by the simple parameter
     RUNPATHQUOTE = 1    for single evaluation
     RUNPATHQUOTE = 2    for double evaluation
   Unfortunately this obviously proved to be not sufficient as the
   bug reports from James show.

   (BTW, if you are interested: Making the literal '$' as prefix is
     _Q = \\\$$\$$       for RUNPATHQUOTE = 1
   and
     _Q = \\\\\\\$$\$$   for RUNPATHQUOTE = 2
   in gar.conf.mk).

- Moving -R to LD_OPTIONS would make things considerable easier,
   because the number of evaluations is fixed as it is not processed
   by multiple commands. It would just be needed to decide if
   $ISALIST should be in or not. NOISALIST is already there for this.
   This would conflict with packages already using LD_OPTIONS:
     amarok
     cups
     daimonin
     exim
     gftp
     gphoto2
     hatari
     hypermail
     kdesvn
     kile
     libgphoto2
     lyx
     mysql-python
     netsnmp
     slrn
     tsclient
     w3m
   To be consistent, EXTRA_LD_OPTIONS should be introduced and the
   Makefiles adjusted accordingly when the GAR modifications have
   been made.


So the GAR integration is possible, but needs some experimentation
in quoting and best use.


Best regards

   -- Dago
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20090401/6f35ccbe/attachment.html>


More information about the maintainers mailing list