IBM Support

Getting error "Error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory"

Troubleshooting


Problem

While accessing Cognos Gateway URL getting error "Internal Server error". In IBM HTTP Server logs we were getting error "Error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory"

Symptom

IBM HTTP Server is used as a webserver. When Cognos Gateway URL is access through browser we end up getting error "Internal Server Error".


In IBM HTTP Server logs we were getting error
"File does not exist: /app/IBM/HTTPServer/htdocs/favicon.ico
/app/IBM/cognos/c10_64/cgi-bin/cognos.cgi: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory"

Cause

libstdc++.so.6 and libstdc++.so.6.0.8 did not exist on the system

Diagnosing The Problem

Go to <Install Dir>/cgi-bin and execute below command only if cgi is being used in Gateway URL.

ldd cognos.cgi

The output of the above command will point out the missing libraries if any.

In this scenario we observed that libstdc++.so.6 and libstdc++.so.6.0.8 were mentioned as missing. The output of ldd cognos.cgi as observed



libdl.so.2 => /lib/libdl.so.2 (0x00511000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00516000)
libstdc++.so.6 => not found
libm.so.6 => /lib/libm.so.6 (0x00ea0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00c41000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00531000)
libc.so.6 => /lib/libc.so.6 (0xf75b2000)
libz.so.1 => ./libz.so.1 (0x0054c000)
libstdc++.so.6 => not found
libicucogi18n.so.40 => ./libicucogi18n.so.40 (0xf73fd000)
libicucoguc.so.40 => ./libicucoguc.so.40 (0xf72c3000)
libstdc++.so.6 => not found
libCCLCryptoShared.so => ./libCCLCryptoShared.so (0x00cfe000)
libstdc++.so.6 => not found
libstdc++.so.6 => not found
libstdc++.so.6 => not found
libicucogdata.so.40 => ./libicucogdata.so.40 (0xf6648000)
libstdc++.so.6 => not found
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x0058f000)
/lib/ld-linux.so.2 (0x00a72000)
libstdc++.so.6 => not found
libstdc++.so.6 => not found
libstdc++.so.6 => not found
libXau.so.6 => /usr/lib/libXau.so.6 (0x0055d000)

Resolving The Problem

If you traverse to location /usr/lib and execute command [ file libstdc++.so.6 ] it actually has a symbolic link to libstdc++.so.6.0.8 and the output of the command is seen as below.

libstdc++.so.6: symbolic link to `libstdc++.so.6.0.8'

So ultimately it ends up referencing libstdc++.so.6.0.8 file. One important point to note is that libstdc++.so.6.0.8 is a 32-bit file.

To resolve the issue you can either copy libstdc++.so.6 and libstdc++.so.6.0.8 to /usr/lib location from the system where they exist or you can install the libraries if you have the appropriate installable library file.

[{"Product":{"code":"SSEP7J","label":"Cognos Business Intelligence"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Install and Config","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"10.2.2;10.2.1;10.2;10.1.1;10.1;8.4.1","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
15 June 2018

UID

swg21641750