While setting up a websphere test server I ran into a minor dependency error during the beginning of installing the necessary packages for websphere. The IBM Java SDK RPM on CentOS 6 was complaining about a failed dependency of a libstdc++ library. The RPM I was attempting to install required libstdc++.so.5 and CentOS 6 has libstdc++.so.6 installed by default. All that is required is to install the libstdc++ compat RPM. The information below describes the error in more detail, how I located the package that installed the necessary file(s), and an example of installing the needed package.

Failed Dependency Error On CentOS 6 Installing IBM Java SDK:

[root@dev ~]$ rpm -Uhv ibm-java-x86_64-sdk-6.0-9.1.x86_64.rpm
error: Failed dependencies:
	/usr/lib64/libstdc++.so.5 is needed by ibm-java-x86_64-sdk-6.0-9.1.x86_64
[root@dev ~]$

As you can see above libstdc++.so.5 is needed by the ibm-java-sdk RPM. Whenever I run across a dependency error on CentOS the first thing I do is search for what package in the installed YUM repositories will provide the needed dependency, if any at all. Use the below example to see how to search through the packages for specific files that are installed.

Search YUM Repository For Package That Installs Dependency:

[root@dev ~]$ yum whatprovides *libstdc++.so.5*
Loaded plugins: fastestmirror, refresh-packagekit
base/filelists_db                                                                                                 | 5.6 MB     00:10
epel/filelists_db                                                                                                 | 5.4 MB     00:05
extras/filelists_db                                                                                               |  738 B     00:00
updates/filelists_db                                                                                              | 2.6 MB     00:03
compat-libstdc++-33-3.2.3-69.el6.i686 : Compatibility standard C++ libraries
Repo        : base
Matched from:
Other       : libstdc++.so.5(GLIBCPP_3.2.3)
Other       : libstdc++.so.5(GLIBCPP_3.2.2)
Other       : libstdc++.so.5(GLIBCPP_3.2.4)
Other       : libstdc++.so.5
Other       : libstdc++.so.5(CXXABI_1.2.1)
Other       : libstdc++.so.5(CXXABI_1.2)
Filename    : /usr/lib/libstdc++.so.5.0.7
Other       : libstdc++.so.5(GLIBCPP_3.2.1)
Other       : libstdc++.so.5(CXXABI_1.2.2)
Filename    : /usr/lib/libstdc++.so.5
Other       : libstdc++.so.5(GLIBCPP_3.2)

compat-libstdc++-33-3.2.3-69.el6.x86_64 : Compatibility standard C++ libraries
Repo        : base
Matched from:
Other       : libstdc++.so.5(GLIBCPP_3.2.4)(64bit)
Other       : libstdc++.so.5(GLIBCPP_3.2.1)(64bit)
Filename    : /usr/lib64/libstdc++.so.5
Other       : libstdc++.so.5(GLIBCPP_3.2.3)(64bit)
Other       : libstdc++.so.5()(64bit)
Other       : libstdc++.so.5(GLIBCPP_3.2.2)(64bit)
Filename    : /usr/lib64/libstdc++.so.5.0.7
Other       : libstdc++.so.5(CXXABI_1.2.1)(64bit)
Other       : libstdc++.so.5(CXXABI_1.2.2)(64bit)
Other       : libstdc++.so.5(CXXABI_1.2)(64bit)
Other       : libstdc++.so.5(GLIBCPP_3.2)(64bit)

[root@dev ~]$

As you can see in the above output of “yum whatprovides” it looks like there are two packages in the installed YUM repos that will install the necessary dependency of libstdc++.so.5. One of the versions is the i686 version or 32 bit version and the other is the x86_64 version or 64 bit version. In this example we are on a 64-bit server so by default the 64-bit package will be installed as shown in the below example.

Install compat-libstdc++-33 For libstdc++.so.5 Library:

[root@dev ~]# yum install compat-libstdc++-33
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
epel/metalink                                                                                                                 |  13 kB     00:00
 * base: mirror.steadfast.net
 * epel: mirror.steadfast.net
 * extras: centos.mirrors.tds.net
 * updates: mirror.steadfast.net
base                                                                                                                          | 3.7 kB     00:00
extras                                                                                                                        | 3.0 kB     00:00
updates                                                                                                                       | 3.5 kB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================================================
 Package                                     Arch                           Version                               Repository                    Size
=====================================================================================================================================================
Installing:
 compat-libstdc++-33                         x86_64                         3.2.3-69.el6                          base                         183 k

Transaction Summary
=====================================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 183 k
Installed size: 806 k
Is this ok [y/N]: y
Downloading Packages:
compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm                                                                                   | 183 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : compat-libstdc++-33-3.2.3-69.el6.x86_64                                                                                       1/1

Installed:
  compat-libstdc++-33.x86_64 0:3.2.3-69.el6

Complete!
[root@dev ~]#

Now the necessary library file to move forward with the IBM Java SDK installation should be installed so we will attempt to install the RPM package downloaded from IBM as shown in the below example output.

Install IBM Java SDK On CentOS Linux 6:

[root@dev ~]# rpm -Uhv ibm-java-x86_64-sdk-6.0-9.1.x86_64.rpm
Preparing...                ########################################### [100%]
   1:ibm-java-x86_64-sdk    ########################################### [100%]
[root@dev ~]#

Success!

WebSphere Application Server Administration Using Jython (Hardcover)

By (author): Robert A. Gibson, Arthur Kevin McGrath, Noel J. Bergman


List Price: $54.99 USD
New From: $60.00 USD In Stock
Used from: $60.51 USD In Stock


List Price: $54.99 USD
New From: $39.32 USD In Stock
Used from: $9.92 USD In Stock

DeliciousStumbleUponDiggTwitterFacebookRedditLinkedInEmail
Tags: , , , , , , , , , , , , , , , , ,
Leave a Reply

*Type the letter/number combination in the abvoe field before clicking submit.

*