libstdc++-libc6.1-1.so.2 找不到的问题(转载)



原地址:http://agile-boy.javaeye.com/blog/65261

进来,因为工作需要,要在j2se1.3.1下边运行一些程序(在我看来,是多么古老的版本了),于是从sun下载j2se1.3,安装完毕.结果运行出错: /usr/jdk1.3.1_17/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory.
原来是缺少动态库,简单于是google相关的debian下的package,原来在libstdc++2.9-glibc2.1包里,apt-get 安装,却是找不到,于是apt-cache search libstdc++,发现最早的也是libstdc++2.10-glibc2.2了,安装了.
因为java需要libstdc++-libc6.1-1.so.2动态库,于是在linux下边做了个ln:ln -s /usr/lib/libstdc++-libc6.2-2.so.3 /usr/lib/libstdc++-libc6.1-1.so.2
结果当然是,搞定:)

=====================================

cd /usr/lib

ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2


以上方法,经过本人测试可以完成,本人虚拟机vmware8.0.3,oracle linux 6.2安装 oracle9204时候,报错,即:
[oracle@ora20120912 Disk1]$ ./runInstaller
[oracle@ora20120912 Disk1]$ Initializing Java Virtual Machine from /tmp/OraInstall2012-09-12_04-48-14PM/jre/bin/java. Please wait...
/tmp/OraInstall2012-09-12_04-48-14PM/jre/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory

  经过以上做后,可以实现无错误。
  在etc/lib目录下存在另外的动态库。
[root@ora20120912 lib]# ls libstdc++-libc6.2-2.so.3
libstdc++-libc6.2-2.so.3下存在一个高版本的。故执行ln命令可以达到该目的。无需另找libstdc++-libc6.1-1.so.2。
  以后可以如下策略:
  找到/etc/lib目录下,存在的libstdc++动态库,然后做ln链接。





ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
(出处:http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html)
http://hi.baidu.com/piaohong/item/c401b1ef51c7be0c64db0006.感谢原作者。嘿嘿。

猜你喜欢

转载自loveboth.iteye.com/blog/1677008