Error executing ReportAgent manually in Unix environments.

Document ID : KB000017962
Last Modified Date : 14/02/2018
Show Technical Document Details

Issue: 

While trying to execute ReportAgent manually in debug mode or while trying to immediately send a snapshot of the CA PIM database and any local PMDBs to the queue/snapshots queue on the Distribution Server, at times the following error message appears:

ReportAgent: error while loading shared libraries: libxerces-c.so.28: cannot open shared object file: No such file or directory

 

Environment:  

Operating System all supported Redhat Linux builds.

PIM R12.5 and higher.

 

Cause: 

The cause for the problem is that the operating system is not able to find the proper location of this shared object file.

 

 

Resolution:

1. Executing 'ldd' against ReportAgent would provide the output of the shared object files / libraries that are loaded, and find as well as any missing shared object files / libraries. For example on a Redhat Linux machine the output would be similar to the output as below.

# ldd ReportAgent

       linux-gate.so.1 =>  (0xffffe000)

       libxerces-c.so.28 => not found

       libcrypt.so.1 => /lib/libcrypt.so.1 (0x00d47000)

       libpam.so.0 => /lib/libpam.so.0 (0xf7fd3000)

       libpthread.so.0 => /lib/libpthread.so.0 (0xf7fb9000)

       libdl.so.2 => /lib/libdl.so.2 (0xf7fb3000)

       libnsl.so.1 => /lib/libnsl.so.1 (0xf7f9a000)

       libresolv.so.2 => /lib/libresolv.so.2 (0x001a1000)

       libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x004f6000)

       libm.so.6 => /lib/libm.so.6 (0xf7f71000)

       libc.so.6 => /lib/libc.so.6 (0x00beb000)

       libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00de9000)

       libaudit.so.0 => /lib/libaudit.so.0 (0xf7f57000)

       /lib/ld-linux.so.2 (0x00bcc000)

 

2. The LD_LIBRARY_PATH needs to be set manually pointing to the location where the 'libxerces-c.so.28' file exists. This setting would be valid for the current session only. In case a new connection is established, the LD_LIBRARY_PATH would have to be set again.

 

3. The other way to set the PATH to the shared object file at the Operating System level, follow the below steps

  • Go to the /etc/ld.so.conf.d directory
  • Create a new .conf file, for example 'ControlMinder.conf'
  • Add the location of the 'libxerces-c.so.28' file in this file. For example as under
    /opt/CA/AccessControl/lib/
    /opt/CA/AccessControlShared/lib/
  • Save and exit
  • Next, execute 'ldconfig', if there are no error messages then the OS has updated the location of the shared object file successfully.

 

Additional Information:

Now, executing 'ReportAgent' would not produce the error message and the above procedure in step 3 would be valid for all the users executing the ReportAgent

#ReportAgent -report snapshot
INFO: AC installed directory: /opt/CA/AccessControl
CA Access Control Reporting Agent.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

=========================

Successfully sent report of seosdb. (id = 1406895034)

=========================