Mantis - gts
Viewing Issue Advanced Details
4926 packaging minor always 2012-03-26 04:00 2013-08-12 00:31
macareus  
laurent  
normal  
closed  
fixed  
none    
none  
0004926: Mangled RUNPATH and RPATH in gts
For reasons completely unrelated to CSWgts,
I wrote a script to sweep through all ELF executable
files and show the union of all their RUNPATHs and/or RPATHs.

Several files related to CSWgts have some "interesting"
RPATH, RUNPATH components.

Below is some diagnostic output.

There is repetition, because the same problem
is reported once for RPATH and again for RUNPATH.
It looks like what were indented to be '$ORIGIN' and
'$ISALIST' got mangled.

Severity is actually unknown, because I have not
tried out any of these programs.
 ** 'SALIST' at /opt/csw/bin/delaunay.
 ** 'RIGIN' at /opt/csw/bin/delaunay.
 ** 'SALIST' at /opt/csw/bin/delaunay.
 ** 'RIGIN' at /opt/csw/bin/delaunay.
 ** 'SALIST' at /opt/csw/bin/gdbus.
 ** 'SALIST' at /opt/csw/bin/gdbus.
 ** 'SALIST' at /opt/csw/bin/gio-querymodules.
 ** 'SALIST' at /opt/csw/bin/gio-querymodules.
 ** 'SALIST' at /opt/csw/bin/glib-compile-schemas.
 ** 'SALIST' at /opt/csw/bin/glib-compile-schemas.
 ** 'SALIST' at /opt/csw/bin/glib-genmarshal.
 ** 'SALIST' at /opt/csw/bin/glib-genmarshal.
 ** 'SALIST' at /opt/csw/bin/gobject-query.
 ** 'SALIST' at /opt/csw/bin/gobject-query.
 ** 'SALIST' at /opt/csw/bin/gsettings.
 ** 'SALIST' at /opt/csw/bin/gsettings.
 ** 'SALIST' at /opt/csw/bin/gtester.
 ** 'SALIST' at /opt/csw/bin/gtester.
 ** 'SALIST' at /opt/csw/bin/gts2dxf.
 ** 'RIGIN' at /opt/csw/bin/gts2dxf.
 ** 'SALIST' at /opt/csw/bin/gts2dxf.
 ** 'RIGIN' at /opt/csw/bin/gts2dxf.
 ** 'SALIST' at /opt/csw/bin/gts2oogl.
 ** 'RIGIN' at /opt/csw/bin/gts2oogl.
 ** 'SALIST' at /opt/csw/bin/gts2oogl.
 ** 'RIGIN' at /opt/csw/bin/gts2oogl.
 ** 'SALIST' at /opt/csw/bin/gts2stl.
 ** 'RIGIN' at /opt/csw/bin/gts2stl.
 ** 'SALIST' at /opt/csw/bin/gts2stl.
 ** 'RIGIN' at /opt/csw/bin/gts2stl.
 ** 'SALIST' at /opt/csw/bin/gtscheck.
 ** 'RIGIN' at /opt/csw/bin/gtscheck.
 ** 'SALIST' at /opt/csw/bin/gtscheck.
 ** 'RIGIN' at /opt/csw/bin/gtscheck.
 ** 'SALIST' at /opt/csw/bin/gtscompare.
 ** 'RIGIN' at /opt/csw/bin/gtscompare.
 ** 'SALIST' at /opt/csw/bin/gtscompare.
 ** 'RIGIN' at /opt/csw/bin/gtscompare.
 ** 'SALIST' at /opt/csw/bin/idn.
 ** 'SALIST' at /opt/csw/bin/idn.
 ** 'SALIST' at /opt/csw/bin/stl2gts.
 ** 'RIGIN' at /opt/csw/bin/stl2gts.
 ** 'SALIST' at /opt/csw/bin/stl2gts.
 ** 'RIGIN' at /opt/csw/bin/stl2gts.
 ** 'SALIST' at /opt/csw/bin/transform.
 ** 'RIGIN' at /opt/csw/bin/transform.
 ** 'SALIST' at /opt/csw/bin/transform.
 ** 'RIGIN' at /opt/csw/bin/transform.
Issue History
2012-03-26 04:00 macareus New Issue
2012-03-26 08:59 maciej Note Added: 0009771
2013-07-28 10:25 laurent Status new => assigned
2013-07-28 10:25 laurent Assigned To => laurent
2013-07-28 10:28 laurent Note Added: 0010507
2013-07-28 10:28 laurent Status assigned => resolved
2013-07-28 10:28 laurent Resolution open => fixed
2013-08-12 00:31 laurent Note Added: 0010531
2013-08-12 00:31 laurent Status resolved => closed

Notes
(0009771)
maciej   
2012-03-26 08:59   
It happens when the build system performs an extra interpolation of variables passed through the environment. If it happens inside shell, the result is that "/opt/csw/lib/$ISALIST" becomes "/opt/csw/lib/". If it happens inside Make, the result is "/opt/csw/lib/SALIST". If there is a problem with these, the problem is that the binaries are unable to find optimized libraries, because the SALIST entry in RPATH simply doesn't work. But it doesn't stop the binaries from working at all.
(0010507)
laurent   
2013-07-28 10:28   
There's been some cleanup, and the latest build looks good, here's a sample:

$ /usr/ccs/bin/dump -Lv /opt/csw/bin/amd64/gts2stl | grep PATH
[10] RUNPATH /opt/csw/lib/$ISALIST:/opt/csw/lib/64
[11] RPATH /opt/csw/lib/$ISALIST:/opt/csw/lib/64
(0010531)
laurent   
2013-08-12 00:31   
All good.