ubuntu源码编译安装cmake-2.8.10.2
从cmake官网下载最新的cmake版本,笔者下载的是cmake-2.8.10.2.tar.gz,地址http://www.cmake.org/cmake/resources/software.html
www.zhishiwu.com
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
www.zhishiwu.com
注意:可能会出现如下错误:
/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中。重复刚才的命令: www.zhishiwu.com
.././bootstrap
注意:此时我们仍然在cmake-bulid目录下面。
上面成功以后就执行如下2个命令:
make
sudo make install
查看cmake是否安装成功:
cmake --version
output:
cmake version 2.8.10.2
恭喜你,安装成功了。