Skip to main content

How to resolve oninit error: /lib64/libstdc++.so.5: version `CXXABI_1.2' not found


Technote (troubleshooting)


Problem(Abstract)

This article describes a possible problem on a Linux distribution with a kernel version of 2.6 depending on the version of library libstdc++

Symptom

The oninit executable can at startup return an error on some Linux distributions like Redhat Entreprise Server 4 x86_64 ( Kernel 2.6.9-34.0.2.ELsmp #1 SMP) with IBM® Informix® Dynamic Server™ 10.00.FC4 and 10.00.FC5

Example

$ oninit
oninit: /lib64/libstdc++.so.5: version `CXXABI_1.2' not found (required by oninit)


On some Linux distributions, libstdc++.so.5 does not exist or is linked with
/usr/lib64/libstdc++.so.6.0.3 like libstdc++.so.6. On Redhat Linux
Entreprise Server x86_64 the rpm package installed is
libstdc++-3.4.5-2.x86_64.rpm (64bits package) and
compat-libstdc++-33-3.2.3-47.3 (32bits package) and the following files are installed:

$ rpm -ql libstdc++
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.3
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.3
/usr/lib/libstdc++.so.5
/usr/lib/libstdc++.so.5.0.7



Cause

Check the strings CXXABI in /usr/lib64/libstdc++.so.6.0.3:

$ ls -l /usr/lib64/libstdc++.so.6.0.3
-rwxr-xr-x  1 root root 910744 Dec 20  2005 /usr/lib64/libstdc++.so.6.0.3
$ strings /usr/lib64/libstdc++.so.6.0.3 | grep CXXABI
CXXABI_1.3


Version for this library is CXXABI_1.3 instead of CXXABI_1.2, so oninit will not start.


Resolving the problem

1. Find the correct package.

It is mandatory to install the 64bits rpm package libstdc++ including CXXABI_1.2. Connect tohttp://rpm.pbone.net to get the lastest release including CXXABI_1.2.

Example

Name : libstdc++  
Version : 3.3.4  Vendor : SuSE Linux AG, Nuernberg, Germany  
Release : 11  Date : 2004-10-02 02:51:27  
Group : System/Libraries  Source RPM : gcc-3.3.4-11.src.rpm  
Size : 2044198  
Packager :
www_suse_de   
Summary : The standard C++ shared library  
Description :
The standard C++ library, needed for dynamically linked C++ programs.

Provides :
gppshare
libstdc++.so.5
libstdc++.so.5()(64bit)
libstdc++.so.5(CXXABI_1.2)
libstdc++.so.5(CXXABI_1.2)(64bit)
libstdc++.so.5(CXXABI_1.2.1)
libstdc++.so.5(CXXABI_1.2.1)(64bit)
libstdc++.so.5(CXXABI_1.2.2)
libstdc++.so.5(CXXABI_1.2.2)(64bit)
libstdc++.so.5(GLIBCPP_3.2)
libstdc++.so.5(GLIBCPP_3.2)(64bit)
libstdc++.so.5(GLIBCPP_3.2.1)
libstdc++.so.5(GLIBCPP_3.2.1)(64bit)
libstdc++.so.5(GLIBCPP_3.2.2)
libstdc++.so.5(GLIBCPP_3.2.2)(64bit)
libstdc++.so.5(GLIBCPP_3.2.3)
libstdc++.so.5(GLIBCPP_3.2.3)(64bit)
libstdc++.so.5(GLIBCPP_3.2.4)
libstdc++.so.5(GLIBCPP_3.2.4)(64bit)
libstdc++.so.5(libstdc++.so.5)
libstdc++.so.5(libstdc++.so.5)(64bit)
libstdc++


2. Install the rpm

Example

$ rpm --install --force libstdc++-3.3.4-11.x86_64.rpm
warning: libstdc++-3.3.4-11.x86_64.rpm: V3 DSA signature: NOKEY, key ID 9c800aca

3. Check for the library /usr/lib64/libstdc++.so.5

Example

$ rpm -ql libstdc++
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.3
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.3
/usr/lib/libstdc++.so.5
/usr/lib/libstdc++.so.5.0.7
/usr/lib64/libstdc++.so.5
/usr/lib64/libstdc++.so.5.0.7
/usr/share/locale/de/LC_MESSAGES/libstdc++.mo
/usr/share/locale/fr/LC_MESSAGES/libstdc++.mo


$ strings /usr/lib64/libstdc++.so.5 | grep CXXABI
CXXABI_1.2
CXXABI_1.2.1
CXXABI_1.2.2


4. Create a symbolic link /lib64/libstdc++.so.5

Example

$ ln -s /usr/lib64/libstdc++.so.5 /lib64/libstdc++.so.5


Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Informix Servers


Software version:
10.0


Operating system(s):
Linux


Reference #:
1244766


Modified date:
2006-11-06

Translate my page

Content navigation