Troubleshooting a missing library for the CA Single Sign-On (SiteMinder) Policy server and Webagent installation on LINUX with the ldd command.

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

The ldd command can be used to show you the shared libraries required by any given program. It is useful for figuring out when there is a missing dependency and it can be used to list missing functions and objects.

 

 

 

Question:

My Apache start fails after installing the CA Single Sign-On WebAgent.  How do I determine which library is missing?

 > Ignoring invalid environment assignment 'export PATH=/opt/CA/webagent/bin:$PATH': /etc/sysconfig/httpd 

> Starting The Apache HTTP Server... 
> httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Cannot load /opt/CA/webagent/bin/libmod_sm24.so into server: libsmerrlog.so: cannot open> shared object file: No such file or directory 
> httpd.service: main process exited, code=exited, status=1/FAILURE 
> Ignoring invalid environment assignment 'export PATH=/opt/CA/webagent/bin:$PATH': /etc/sysconfig/httpd 
> kill: cannot find process "" 
> httpd.service: control process exited, code=exited status=1 
> Failed to start The Apache HTTP Server. 
> Unit httpd.service entered failed state. 
> httpd.service failed.

Environment:
Any LINUX system.
Answer:

 Verify SELinux has been disabled.  To check that the shared libraries requirements have been installed, run the ldd command on the file and path where the web agent was installed.  For example:

[root@centosca webagent]# ldd /opt/CA/webagent/bin/libmod_sm24.so

  

Look for the "not found" messages in the output.

x-vdso.so.1 => (0x00007ffedd1fb000)  
libsmerrlog.so => /opt/CA/webagent/bin/libsmerrlog.so (0x00007fd333460000) 
libsmeventlogger.so => /opt/CA/webagent/bin/libsmeventlogger.so (0x00007fd333358000) 
libsmcommonutil.so => /opt/CA/webagent/bin/libsmcommonutil.so (0x00007fd3331cf000)

libsmi18n.so =>  not found

libicudata.so.49 => /opt/CA/webagent/bin/libicudata.so.49 (0x00007fd331e1b000) 
libicui18n.so.49 => /opt/CA/webagent/bin/libicui18n.so.49 (0x00007fd331af0000) 

libicuio.so.49  => not found

libicuuc.so.49 => /opt/CA/webagent/bin/libicuuc.so.49 (0x00007fd33175c000) 
libSmXlate.so => /opt/CA/webagent/bin/libSmXlate.so (0x00007fd3315fd000) 
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd3313d9000) 
libdl.so.2 => /lib64/libdl.so.2 (0x00007fd3311d4000) 
librt.so.1 => /lib64/librt.so.1 (0x00007fd330fcc000) 
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fd330cc4000)

 

You will notice on many of the other lines the => symbol followed by a path. This is the path to the physical binary.  The hex number is the address where the library will be loaded. You may have also noticed two of the lib files are marked with "not found".