How can executables be changed to Enable or Disable use of SHLIB_PATH environment variable

HP-UX has a chatr command that allows the attributes on an executable to be viewed and changed. With this command you can specifically check if an executable has been built to use the SHLIB_PATH environment variable to locate shared libraries it may need, using commands of the form:

chatr <executable-name>                       ;;; list <executable-name> internal attributes

chatr +s enable <executable-name>             ;;; enable SHLIB_PATH usage attribute

chatr +s disable <executable-name>            ;;; disable SHLIB_PATH usage attribute


Example for the UDA Informix 9 database agent (inf9_mv) are as below:

$ chatr inf9_mv
inf9_mv: 
         shared executable 
         shared library dynamic path search:
             SHLIB_PATH     enabled   first  
             embedded path  disabled  second Not Defined
         shared library list:
             dynamic   /dbs/informix/32bit/ids2k/lib/esql/libthxa.sl
             dynamic   /usr/lib/libnsl_s.2
             dynamic   /usr/lib/libm.2
             dynamic   /usr/lib/libsec.2
             dynamic   /usr/lib/libpthread.1
             dynamic   /usr/lib/libnsl.1
             dynamic   /usr/lib/libc.2
         shared library binding:
             deferred 
.
.
.
$ chatr +s disable inf9_mv
inf9_mv: 
   current values: 
         shared executable 
         shared library dynamic path search:
             SHLIB_PATH     enabled   second 
             embedded path  disabled  first  Not Defined
         shared library list:
             dynamic   /dbs/informix/32bit/ids2k/lib/esql/libthxa.sl
             dynamic   /usr/lib/libnsl_s.2
             dynamic   /usr/lib/libm.2
             dynamic   /usr/lib/libsec.2
             dynamic   /usr/lib/libpthread.1
             dynamic   /usr/lib/libnsl.1
             dynamic   /usr/lib/libc.2
         shared library binding:
             deferred 
.
.
.
   new values: 
         shared executable 
         shared library dynamic path search:
             SHLIB_PATH     disabled  second 
             embedded path  disabled  first  Not Defined
         shared library list:
             dynamic   /dbs/informix/32bit/ids2k/lib/esql/libthxa.sl
             dynamic   /usr/lib/libnsl_s.2
             dynamic   /usr/lib/libm.2
             dynamic   /usr/lib/libsec.2
             dynamic   /usr/lib/libpthread.1
             dynamic   /usr/lib/libnsl.1
             dynamic   /usr/lib/libc.2
         shared library binding:
             deferred 
.
.
.
$ chatr +s enable inf9_mv
inf9_mv: 
   current values: 
         shared executable 
         shared library dynamic path search:
             SHLIB_PATH     disabled  second 
             embedded path  disabled  first  Not Defined
         shared library list:
             dynamic   /dbs/informix/32bit/ids2k/lib/esql/libthxa.sl
             dynamic   /usr/lib/libnsl_s.2
             dynamic   /usr/lib/libm.2
             dynamic   /usr/lib/libsec.2
             dynamic   /usr/lib/libpthread.1
             dynamic   /usr/lib/libnsl.1
             dynamic   /usr/lib/libc.2
         shared library binding:
             deferred 
.
.
.    
   new values: 
         shared executable 
         shared library dynamic path search:
             SHLIB_PATH     enabled   second 
             embedded path  disabled  first  Not Defined
         shared library list:
             dynamic   /dbs/informix/32bit/ids2k/lib/esql/libthxa.sl
             dynamic   /usr/lib/libnsl_s.2
             dynamic   /usr/lib/libm.2
             dynamic   /usr/lib/libsec.2
             dynamic   /usr/lib/libpthread.1
             dynamic   /usr/lib/libnsl.1
             dynamic   /usr/lib/libc.2
         shared library binding:
             deferred 
.
.
.


See the man page man chatr for more details.


Referenced by...