Ubuntu 6.06 LTS
这是个桌面版,最初的时候报的是如下错误:
./vnc-E4_2_6-x86_linux_viewer: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
我题添加一个连接,
sudo ln -s /usr/lib/libstdc++-libc6.2-2.so.3 libstdc++.so.6.0.7
ldconfig后执行,则会报以下错误:
./vnc-E4_2_6-x86_linux_viewer: symbol lookup error: ./vnc-E4_2_6-x86_linux_viewer: undefined symbol: cerr
将fedora core 5的/usr/lib/libstdc++-libc6.2-2.so.3直接复制到/usr/lib下,继续执行
又报出如下错误:
./vnc-E4_2_6-x86_linux_viewer: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by /usr/lib/libstdc++-libc6.2-2.so.3)
因为一些服务需要这个企业版本,望各位大虾给个解答!
既然没人愿意回答,只好求己了!
下面是我的操作:
[lee@lee ~]$ rpm -pf /usr/lib/libstdc++-libc6.2-2.so.3
rpm: one type of query/verify may be performed at a time
[lee@lee ~]$ rpm -qf /usr/lib/libstdc++-libc6.2-2.so.3
compat-libstdc++-296-2.96-135
[lee@lee ~]$ rpm -dep compat-libstdc++-296-2.96-135
error: Failed dependencies:
libstdc++-libc6.2-2.so.3 is needed by (installed) idsldap-cltjava60-6.0.0-0.i386
[lee@lee ~]$ cd /usr/lib
[lee@lee lib]$ ls -l | grep 'libstdc++*'
lrwxrwxrwx 1 root root 27 8月 28 16:05 libstdc++-20060727.so.7 -> libstdc++-20060727.so.7.0.0
-rwxr-xr-x 1 root root 1045968 7月 29 10:09 libstdc++-20060727.so.7.0.0
-rwxr-xr-x 1 root root 258288 2月 13 2006 libstdc++-2-libc6.1-1-2.9.0.so
-rwxr-xr-x 1 root root 259468 2月 13 2006 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root 30 3月 23 10:42 libstdc++-libc6.1-1.so.2 -> libstdc++-2-libc6.1-1-2.9.0.so
lrwxrwxrwx 1 root root 31 3月 23 10:42 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root 18 3月 23 10:41 libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 733776 2月 11 2006 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 18 6月 30 00:37 libstdc++.so.6 -> libstdc++.so.6.0.8
-rwxr-xr-x 1 root root 945064 5月 26 07:34 libstdc++.so.6.0.8
[lee@lee lib]$ sudo mount -t ext3 /dev/sda1 /mnt/C
Password:
[lee@lee lib]$ cp libstdc++-3-libc6.2-2-2.10.0.so /mnt/C/usr/lib/
cp: 無法建立普通檔案 ‘/mnt/C/usr/lib/libstdc++-3-libc6.2-2-2.10.0.so’: 拒絕不符 權限的操作
[lee@lee lib]$ su
密碼:
[root@lee lib]# cp libstdc++-3-libc6.2-2-2.10.0.so /mnt/C/usr/lib/
[root@lee lib]# cp libstdc++-3-libc6.2-2-2.10.0.so /mnt/C/usr/lib/
cp:是否覆寫 ‘/mnt/C/usr/lib/libstdc++-3-libc6.2-2-2.10.0.so’? y
[root@lee lib]# cd /mnt/C/usr/lib
[root@lee lib]# ls -l | grep 'libstdc++*'
-rwxr-xr-x 1 root root 259468 9月 5 08:32 libstdc++-3-libc6.2-2-2.10.0.so
-rwxr-xr-x 1 root root 259468 9月 4 18:26 libstdc++-libc6.2-2.so.3
lrwxrwxrwx 1 root root 18 8月 30 22:23 libstdc++.so.5 -> libstdc++.so.5.0.7
-rw-r--r-- 1 root root 737496 10月 26 2005 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 18 8月 30 22:23 libstdc++.so.6 -> libstdc++.so.6.0.7
-rw-r--r-- 1 root root 849556 4月 21 06:19 libstdc++.so.6.0.7
[root@lee lib]# rm libstdc++-libc6.2-2.so.3
rm:是否移除普通檔案‘libstdc++-libc6.2-2.so.3’? y
[root@lee lib]# ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-3-libc6.2-2-2.10.0.so
ln: 正在建立連至‘libstdc++-3-libc6.2-2-2.10.0.so’的符號鏈結‘libstdc++-3-libc6.2-2-2.10.0.so’: 檔案已存在
[root@lee lib]# ls -l | grep 'libstdc++*' -rwxr-xr-x 1 root root 259468 9月 5 08:32 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root 18 8月 30 22:23 libstdc++.so.5 -> libstdc++.so.5.0.7
-rw-r--r-- 1 root root 737496 10月 26 2005 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 18 8月 30 22:23 libstdc++.so.6 -> libstdc++.so.6.0.7
-rw-r--r-- 1 root root 849556 4月 21 06:19 libstdc++.so.6.0.7
[root@lee lib]# pwd
/mnt/C/usr/lib
[root@lee lib]# ln -s ./libstdc++-3-libc6.2-2-2.10.0.so ./libstdc++-3-libc6.2-2-2.10.0.so
ln: 正在建立連至‘./libstdc++-3-libc6.2-2-2.10.0.so’的符號鏈結‘./libstdc++-3-libc6.2-2-2.10.0.so’: 檔案已存在
[root@lee lib]# ln -s ./libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.2-2.so.3[root@lee lib]# ls -l | grep 'libstdc++*' -rwxr-xr-x 1 root root 259468 9月 5 08:32 libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root 33 9月 5 08:36 libstdc++-libc6.2-2.so.3 -> ./libstdc++-3-libc6.2-2-2.10.0.so
lrwxrwxrwx 1 root root 18 8月 30 22:23 libstdc++.so.5 -> libstdc++.so.5.0.7
-rw-r--r-- 1 root root 737496 10月 26 2005 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 18 8月 30 22:23 libstdc++.so.6 -> libstdc++.so.6.0.7
-rw-r--r-- 1 root root 849556
依然是那个错误,
lee@lee-desktop:~/日常工具$ ./vnc-E4_2_6-x86_linux_viewer
./vnc-E4_2_6-x86_linux_viewer: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by /usr/lib/libstdc++-libc6.2-2.so.3)
到底是那个库需要安装了呢?
已经是第三天了~
[root@lee 日常工具]# ldd vnc-E4_2_6-x86_linux_viewer
linux-gate.so.1 => (0x00a9d000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x003a4000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x0028f000)
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x00667000)
libm.so.6 => /lib/libm.so.6 (0x00253000)
libc.so.6 => /lib/libc.so.6 (0x0011e000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00df4000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00dec000)
libdl.so.2 => /lib/libdl.so.2 (0x00de6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0044d000)
/lib/ld-linux.so.2 (0x00101000)
这是全部的动态库了!
继续将fedora core 5目录下的/lib/i686/nosegneg/libc-2.4.so复制到/lib/tls/i686/cmov/下,
更改libc.so.6的ln -s 属性,ubuntu默认指向libc-2.3.6.so!
此时我终于明白了,这到底是怎么一回事了。因为上述使我的ubuntu系统几乎不可以使用。。。。。。
我需要手动升级glibc到2。4和gcc到4。1。。。。
[ 本帖最后由 适兕 于 2006-9-6 16:33 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论