CentOS 5.11 64bit に Sublime Text 3 を導入しようとして断念してしまった.折角なので作業ログをメモとして残します.
※libstdc++.so.6 の更新は完了しましたが,libc.so.6の更新で断念しました.
Sublime Text 3 の導入
http://www.sublimetext.com/3のサイトからLinux用のSublime Text 3をダウンロード.CentOS 64bit なので,tarball(tar.bz2形式)のデータ. ダウンロード後はSublime Text公式のインストールマニュアルを参考にしてインストールを進める.
# wget http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3083_x64.tar.bz2 # tar -xf sublime_text_3_build_3083_x64.tar.bz2 # mv sublime_text_3 $HOME/soft/ # ln -s $HOME/soft/sublime_text_3/sublime_text /usr/bin/sublime # sublime /usr/share/applications/sublime.desktop
Sublime Textを実行した際にエラー発生.
# sublime /usr/share/applications/sublime.desktop sublime: /lib64/libc.so.6: version `GLIBC_2.11' not found (required by sublime) sublime: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by sublime) sublime: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by sublime) sublime: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by sublime)
CentOSのバージョンが古いためGLIBC関係のエラーが多発.libc.so.6やlibstdc++.so.6の中身を確認すると,確かにGLIBC_2.11やGLIBCXX_3.4.11が存在しない.
# strings /lib64/libc.so.6 | grep GLIBC GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_PRIVATE # strings /usr/lib64/libstdc++.so.6 | grep GLIBC 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 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.4 GLIBC_2.2.5 GLIBCXX_FORCE_NEW
libstdc++.so.6 の更新
libstdc++.so.6のバージョンが古いため,gccをソースからコンパイルしてリンクを貼ることにした.下記のページを参考にgccをインストール.gccのバージョンは現時点で最新版のgcc-5.2.0に更新.
gccのインストールガイド gcc-5.2.0.tar.gz
# tar -xf gcc-5.2.0.tar.gz # cd gcc-4.6.2 # ./contrib/download_prerequisites # cd .. # mkdir objdir # cd objdir # $PWD/../gcc-5.2.0/configure --prefix=$HOME/gcc-5.2.0 # make # make install
生成されたlibstdc++.so.6(libstdc++.so.6.0.21)を確認すると,新しいバージョンのライブラリがあることが確認できる.
# strings $HOME/gcc-5.2.0/lib64/libstdc++.so.6.0.21 | grep GLIBCXX
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
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
生成されたlibstdc++.so.6(libstdc++.so.6.0.21)を/usr/lib64にコピーしてシンボリックリンクを張り替えて, libstdc++.so.6 の更新完了.
# cp $HOME/gcc-5.2.0/lib64/libstdc++.so.6.0.21 /usr/lib64 # unlink libstdc++.so.6 # ln -s libstdc++.so.6.0.21 libstdc++.so.6
GLIB の更新
libstdc++.so.6だけでなくlibc.so.6の更新も必要だったため,こちらもソースからコンパイルしてリンクを貼ることにした.
# ldd --version ldd (GNU libc) 2.5
現状はGLIBC_2.5だが,GLIBC_2.11が必要なのでglib-2.11のバージョンのソースをダウンロード.現時点で最新版のglibc-2.22だったが,インストールガイドはglibc-2.11.1を対象としたものだったため,glibc-2.11.1をインストールすることにした.
日本語のインストールガイド インストールガイド glibc-2.11.1.tar.gz
ここでglibcのコンパイルが上手くいかず躓いたので導入を断念しました.時間があるときにでも見直して再度試してみる予定です.
結論
CentOS 5 に最新のツールを頑張ってインストールするのは面倒事が多すぎるので,さっさと最新の CentOS 7 等に移行すべき.