您的位置:首页 > 其它

ubuntu 源码编译安装cmake

2013-05-09 21:41 423 查看
郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖!
可以任意转载、修改,转载时是否标明出处,随君而定!

从cmake官网下载最新的cmake版本,笔者下载的是cmake-2.8.10.2.tar.gz,地址http://www.cmake.org/cmake/resources/software.html
1、解压cmake-2.8.10.2.tar.gz
tar -xvf cmake-2.8.10.2.tar.gz
2、在cmake-2.8.10.2同级目录下新建一个编译目录
mkdir cmake-bulid

cd cmake-build
3、编译cmake
.././bootstrap

注意:可能会出现如下错误:
/usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found
这个是因为笔者更新ubuntu gcc编译器导致的。

解决方法:
a. 查看libstdc++.so.6支持GLIBC
strings /usr/lib/libstdc++.so.6 | grep GLIBC
output:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.0
GLIBC_2.3
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
发现里面没有支持GLIBCXX_3.4.15。在这里,笔者ubuntu中安装的gcc 4.7
ls /usr/local/gcc-4.7.2/
output:
bin  include  lib  libexec  share
将/usr/local/gcc-4.7.2/lib/目录下面的libstdc++.so.6和libstdc++.so.6.0.17拷贝到/usr/lib/目录下面:
sudo cp /usr/local/gcc-4.7.2/lib/libstdc++.so.6 /usr/lib/
sudo cp /usr/local/gcc-4.7.2/lib/libstdc++.so.6.0.17 /usr/lib/
sudo rm -f /usr/lib/libstdc++.so.6.0.13
删除libstdc++.so.6旧的链接,建立新的链接,同时删除libstdc++.so.6.0.13:
sudo ln -sf /usr/lib/libstdc++.so.6.0.17 /usr/lib/libstdc++.so.6
sudo rm -f /usr/lib/libstdc++.so.6.0.13
至此搞定,现在我们回到编译cmake中。重复刚才的命令:
.././bootstrap
注意:此时我们仍然在cmake-bulid目录下面。
上面成功以后就执行如下2个命令:
make
sudo make install
查看cmake是否安装成功:
cmake --version
output:
cmake version 2.8.10.2
恭喜你,安装成功了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: