libstdc++.so.6: version `GLIBCXX_*.*.*' not found
来源:互联网 发布:淘抢火车票软件 编辑:程序博客网 时间:2024/05/01 14:55
最近在一个RHEL6 64bit平台上编译的cmake拿到另外一台RHEL6 64bit上的server上跑不起来,报下面的错。
[root@localhost ~]# /opt/cmake/x86_64/2.8.2/bin/cmake #我这里把cmake安装在/opt目录下面/opt/cmake/x86_64/2.8.2/bin/cmake: /opt/gcc/x86_64/4.1.2-2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /opt/cmake/x86_64/2.8.2/bin/cmake)/opt/cmake/x86_64/2.8.2/bin/cmake: /opt/gcc/x86_64/4.1.2-2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/cmake/x86_64/2.8.2/bin/cmake)因为cmake需要依赖libstdc++.so.6动态库,因为我这里设置了LD_LIBRARY_PATH,就寻找到了我自己的gcc版本,而不从系统目录去找libstdc++.so.6
[root@localhost ~]# ldd /opt/cmake/x86_64/2.8.2/bin/cmake #查看cmake的动态依赖库/opt/cmake/x86_64/2.8.2/bin/cmake: /opt/gcc/x86_64/4.1.2-2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /opt/cmake/x86_64/2.8.2/bin/cmake)/opt/cmake/x86_64/2.8.2/bin/cmake: /opt/gcc/x86_64/4.1.2-2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/cmake/x86_64/2.8.2/bin/cmake) linux-vdso.so.1 => (0x00007fff7f1fe000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003dc0a00000) libz.so.1 => /lib64/libz.so.1 (0x0000003dc1200000) libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x0000003dc3600000) libstdc++.so.6 => /opt/gcc/x86_64/4.1.2-2/lib64/libstdc++.so.6 (0x00007f06c0cc6000) libgcc_s.so.1 => /opt/gcc/x86_64/4.1.2-2/lib64/libgcc_s.so.1 (0x00007f06c0ab8000) libc.so.6 => /lib64/libc.so.6 (0x0000003dc0200000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003dc0e00000) /lib64/ld-linux-x86-64.so.2 (0x0000003dbfe00000) libidn.so.11 => /lib64/libidn.so.11 (0x0000003dc3200000) libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x0000003dc2e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003dc1600000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003dcb200000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003dcbe00000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003dc9a00000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003dc8a00000) libssl3.so => /usr/lib64/libssl3.so (0x0000003dd0e00000) libsmime3.so => /usr/lib64/libsmime3.so (0x0000003dd1200000) libnss3.so => /usr/lib64/libnss3.so (0x0000003dd0200000) libnssutil3.so => /usr/lib64/libnssutil3.so (0x0000003dcf600000) libplds4.so => /lib64/libplds4.so (0x0000003dcfe00000) libplc4.so => /lib64/libplc4.so (0x0000003dcfa00000) libnspr4.so => /lib64/libnspr4.so (0x0000003dd0600000) libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003dc3a00000) libm.so.6 => /lib64/libm.so.6 (0x0000003dc0600000) liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x0000003dc2a00000) libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003dc2200000) libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003dd1e00000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003dcb600000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003dca200000) libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003dc9200000) libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003dc8e00000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003dcea00000) libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003dc1e00000) libfreebl3.so => /lib64/libfreebl3.so (0x0000003dcee00000)[root@localhost ~]# echo $LD_LIBRARY_PATH #我这里设置了LD_LIBRARY_PATH/opt/gcc/x86_64/4.1.2-2/lib:/opt/gcc/x86_64/4.1.2-2/lib64:这里主要是我编译cmake所依赖的系统gcc的libstdc++.so.6里面包含有GLIBCXX_3.4.9和GLIBCXX_3.4.11,而提供的gcc里面的libstdc++.so.6不包含GLIBCXX_3.4.9和GLIBCXX_3.4.11
[root@rhel6164 ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC #查看我编译cmake平台系统libstdc++.so.6包含的GLIBC版本GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBC_2.2.5GLIBC_2.3GLIBC_2.4GLIBC_2.3.2GLIBCXX_FORCE_NEWGLIBCXX_DEBUG_MESSAGE_LENGTH[root@localhost ~]# strings /opt/gcc/x86_64/4.1.2-2/lib64/libstdc++.so.6 | grep GLIBC #查看运行cmake平台我自己编译的gcc的libstdc++.so.6包含的GLIBC版本GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBC_2.3GLIBC_2.2.5GLIBCXX_FORCE_NEW我这里有两种办法解决这个问题,最简单的办法就是unset LD_LIBRARY_PATH,让cmake不去找我自己编译的gcc下面的libstdc++.so.6,而去找系统下面的;另一个办法就是使用我自己编译的gcc去重新编译cmake。
0 0
- libstdc++.so.6: version `GLIBCXX_*.*.*' not found
- libstdc++.so.6:version ‘GLIBCXX_3.4.**’not found
- libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found
- libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found
- /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
- usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
- libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
- /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
- 解决libstdc++.so.6: version `GLIBCXX_3.4.15' not found问题
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
- libstdc++.so.6: version `GLIBCXX_3.4.15' not found
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found
- /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.17' not found
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found
- libstdc++.so.6: version `CXXABI_1.3.9' not found
- Tensorflow problem libstdc++.so.6: version `GLIBCXX_3.4.19' not found
- libstdc++.so.6: version `GLIBCXX_3.4.21' not found 问题解决
- 16.PHP内核探索:PHP里的opcode
- Json实现异步请求(提交评论)
- windows 下apache2.2配置php5.4.31
- 编程实现单链表的删除节点
- iOS NSLog输出的格式
- libstdc++.so.6: version `GLIBCXX_*.*.*' not found
- AMD又换老板了
- BOX2D 第一章 简介
- Permutation Sequence
- S7 200 PPI编程口读写数据
- #import与@class的区别
- 第7章、单选按钮RadioGroup与复选框CheckBox(从零开始学Android)
- C++中时间延迟的几种方法
- SVN服务器搭建和使用(三)