網上的信息多是在redhat上面安裝compat-libstdc++的rpm包,問題是我的機器上面有/usr/lib/libstdc++.so.5這個文件。
最後發現我的機器上面既有compat-libstdc++-33-3.2.3-4.i386.rpm,也有compat-libstdc++-33-3.2.3-4.x86_64.rpm,
發生這種情況是因爲安裝命令爲yum install compat-libstdc++*. 把32位和64位都安裝了,DB2直接找32位的,
所以先刪除compat-libstdc++-33-3.2.3-4.i386.rpm, 在重裝compat-libstdc++-33-3.2.3-4.x86_64.rpm。
教訓是以後在64位機器上不要用*這個通用符號了,先執行yum list compat*, 在安裝64包的全名。
還有一個包libaio-0.3.105-2.i386.rpm 也要這樣做,估計是依賴包。
命令如下:
yum remove libaio-0.3.105-2.i386.rpm
yum remove compat-libstdc++-33-3.2.3-4.i386.rpm
yum remove libaio-0.3.105-2.x86_64.rpm
yum remove compat-libstdc++-33-3.2.3-4.x86_64.rpm
yum install libaio-0.3.105-2.x86_64.rpm
yum install compat-libstdc++-33-3.2.3-4.x86_64.rpm