Tips for finding Knowledge Articles

  • - Enter just a few key words related to your question or problem
  • - Add Key words to refine your search as necessary
  • - Do not use punctuation
  • - Search is not case sensitive
  • - Avoid non-descriptive filler words like "how", "the", "what", etc.
  • - If you do not find what you are looking for the first time,reduce the number of key words you enter and try searching again.
  • - Minimum supported Internet Explorer version is IE9
Home  >
article

KB-2875: install/dainfo fails while reporting symbol errors

Centrify DirectAudit ,  

12 April,16 at 11:07 AM

Applies to: Centrify DirectAudit 3.0

Problem:

The following errors are observed when running the command dainfo as a regular user, but not as root:

pilaunch11:/nfs/home2/trptss/tss9230> ssh labaixtest1
Last login: Tue Feb 12 13:20:10 EST 2013 on /dev/pts/0 from pilaunch11.yourcompany.net

labaixtest1:/nfs/home2/trptss/tss9230> dainfo
exec(): 0509-036 Cannot load program dainfo because of the following errors:
0509-130 Symbol resolution failed for /usr/share/centrifydc/kerberos/lib/libk5crypto.a(shr.o.3.0) because:
0509-136 Symbol memcpy (number 1) is not exported from
dependent module /usr/lib/libcrypto.a(libcrypto.so.0.9.8).
0509-136 Symbol memset (number 2) is not exported from
dependent module /usr/lib/libcrypto.a(libcrypto.so.0.9.8).
0509-136 Symbol strcpy (number 3) is not exported from
dependent module /usr/lib/libcrypto.a(libcrypto.so.0.9.8).
0509-136 Symbol strncpy (number 4) is not exported from
dependent module /usr/lib/libcrypto.a(libcrypto.so.0.9.8).
0509-136 Symbol memmove (number 5) is not exported from
dependent module /usr/lib/libcrypto.a(libcrypto.so.0.9.8).
0509-026 System error: Error 0
0509-192 Examine .loader section symbols with the
'dump -Tv' command.



Successful dainfo when run as root (with LD_LIBRARY_PATH not set):

labaixtest1:/nfs/home2/trptss/tss9230> dzdo su -

(labaixtest1)# 
(labaixtest1)# dainfo
Pinging adclient: adclient is available
Daemon status: Online
Current collector: OMTCD50004.yourcompany.net:5063:HOST/OMTCD50004.yourcompany.net@yourcompany.net
Offline store size: 97.00 Bytes
Despool rate: 0.00 Bytes/second
Getting offline database information: 
Size on disk: 88.00 KB
Database filesystem use: 368.20 MB used, 2.00 GB total, 1.64 GB free
DirectAudit LAM module: Active
User (root) audited status: Yes
DirectAudit is not configured to audit individual commands.

Note: The same error also occurs when DA is installed using Deployment Manager, or when performing a manual install as root with LD_LIBRARY_PATH set.

Cause:

There is a known issue where the command dainfo does not work if it is run as a normal user (but will work fine if run as root). 

The reason is the environment for the normal user and root are different (in particular, the LIBPATH or LD_LIBRARY_PATH). 
When the command is run as a normal user, the command is runtime linked against /usr/lib/libcrypto.a instead of /usr/share/centrifydc/lib/libcrypto.a

By running the following sets of commands, additional info can be obtained.

1) lslpp -w /usr/lib/libcrypto.a

2) Output of env command:

labaixtest1:/nfs/home2/trptss/tss9230> env | grep LD_LIBRARY_PATH

LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/openwin/lib:/apps/tcl/default/lib

3) Output of lslpp -w /usr/lib/libcrypto.a command:

labaixtest1)# lslpp -w /usr/lib/libcrypto.a
  
File                                        Fileset               Type
  ----------------------------------------------------------------------------
  /usr/lib/libcrypto.a                        openssl.base          File

4) (labaixtest1)# ldd /usr/bin/dainfo
/usr/bin/dainfo needs:
         /usr/lib/libc.a(shr.o)
         /usr/lib/libpthreads.a(shr_xpg5.o)
         /usr/lib/libnsl.a(shr.o)
         /usr/share/centrifydc/lib/DA/gcclib/pthread/libstdc++.a(libstdc++.so.6)
         /usr/share/centrifydc/lib/DA/gcclib/pthread/libgcc_s.a(shr.o)
         /usr/lib/libpthreads.a(shr_comm.o)
         /usr/lib/libdl.a(shr.o)
         /usr/share/centrifydc/lib/libgnugetopt.a(libgnugetopt.so.1)
         /usr/share/centrifydc/kerberos/lib/libgssapi_krb5.a(shr.o.2.2)
         /unix
         /usr/lib/libcrypt.a(shr.o)
         /usr/lib/libthread.a(shr.o)
         /usr/lib/libpthreads_compat.a(shr.o)
         /usr/lib/libtli.a(shr.o)
         /usr/share/centrifydc/kerberos/lib/libcom_err.a(shr.o.3.0)
         /usr/share/centrifydc/lib/libcrypto.a(libcrypto.so.0.9.8)
         /usr/share/centrifydc/kerberos/lib/libkrb5.a(shr.o.3.2)
         /usr/share/centrifydc/kerberos/lib/libkrb5support.a(shr.o.0.0)
         /usr/share/centrifydc/kerberos/lib/libk5crypto.a(shr.o.3.0)
         /usr/lib/libpthreads.a(shr.o)
         /usr/lib/libc.a(pse.o)

Workaround:

Option 1) ( LD_LIBRARY_PATH and LIBPATH is needed):

(This is the preferred method as unsetting LD_LIBRARY_PATH and LIBPATH can cause issues to other software programs.)

1. Rename dainfo
    In /usr/bin, run `mv dainfo dainfo-real'

2. Make a wrapper script that unset LD_LIBRARY_PATH and LIBPATH (if this is defined in environment variable). Like:
    #!/usr/bin/sh

    unset LD_LIBRARY_PATH
    unset LIBPATH
    /usr/bin/dainfo-real

 Name the script `dainfo' and put it in /usr/bin.


Option 2)

Run 

unset LD_LIBRARY_PATH
unset LIBPATH

Resolution:

Centrify will fix this issue in future releases of the product.


Note: Setting LD_LIBRARY_PATH is generally a bad practice. 

Please see the link below: (Provided as a courtesy)
 

Still have questions? Click here to log a technical support case, or collaborate with your peers in Centrify's Online Community.