tech.guitarrapc.cóm

Technical updates

Windows AzureのOpenLogic CentOS 6.3 で GNOME (X Window)を使うまでセットアップをしてみる part5

part5です。 前回は、zsh環境を整えるところまでやりました。
Windows AzureのOpenLogic CentOS 6.3 で GNOME (X Window)を使うまでセットアップをしてみる part1 Windows AzureのOpenLogic CentOS 6.3 で GNOME (X Window)を使うまでセットアップをしてみる part2 Windows AzureのOpenLogic CentOS 6.3 で GNOME (X Window)を使うまでセットアップをしてみる part3 Windows AzureのOpenLogic CentOS 6.3 で GNOME (X Window)を使うまでセットアップをしてみる part4
目次はこちら。 今回は、コンパイラの準備です。
  1. Open Logic CentOS 6.3のインスタンス作成と接続
  2. yum更新とRemi Repositoruの導入
  3. ssh 公開鍵暗号での接続に切り替え
  4. zshのインストール
  5. gccなどDevelopment Toolsをインストール
  6. GNOMEの導入
  7. VNCの導入

gccなどDevelopment Toolsをインストール

Azureのギャラリーは、minimum installのようでyum groupinstall "Development Tools"ができないという罠。 また、デフォルトではkernel-headも更新できないようになっており、gccのインストールができません。 その対応も合わせて。

初期のままでは gccをはじめとするコンパイラがインストールできない

さくっと、gccをいれようとするとエラーになるんですね。
sudo yum install gcc
こんな感じでyumでkernel-headersのバージョンが古いよーってエラーが表示されます。
Error: Package: glibc-headers-2.12-1.80.el6_3.7.x86_64 (updates) Requires: kernel-headers Error: Package: glibc-headers-2.12-1.80.el6_3.7.x86_64 (updates) Requires: kernel-headers >= 2.2.1
普通、yumは依存関係も解決するのですが、kernel-headerがmainでアップデート禁止となっているため、このようになります。 当然このままでは、kernel-headersのアップデートも失敗します。
sudo yum install glibc-headers-2.12-1.80.el6_3.7.x86_64
そこで、kernel-headersをインストールして対応する方法は2つあります。

対応方法1

一つは、kernel-headersのインストールを行う際に、除外を見ないようにする方法です。
sudo yum --disableexcludes=main install kernel-headers-2.6.32-279.14.1.el6.openlogic.x86_64
それから、gccをいれればイケます。
sudo yum install gcc

対応方法2

もう一つは、kernel-headersのインストールを除外させていた部分を外す方法です。 原因は、/etc/yum.conf kernelがyum update対象外としてexcludeされているので、更新するように変更すればいいのです。 この方法なら、ただgccなどを入れるだけで、勝手に依存関係を解決します。 また、kernel-headerのバージョンを指定しないので、最新を勝手に入れてくれて楽です。 田中せんせーから、注意指摘があったので、gccなどを入れたら戻せばいいのでは。 自分で書き換える場合はvimでどうぞ。
vimで開いて、
sudo vim /etc/yum.conf
以下のようにリマークします。 #変更前
exclude=kernel*
#変更後
#exclude=kernel*
あるいは、このコマンドでもイケます。
変更時はこれで
sudo sed -e "s/exclude=kernel/#exclude=kernel/" /etc/yum.conf -i
戻す場合はこれで
sudo sed -e "s/#exclude=kernel/exclude=kernel/" /etc/yum.conf -i

改めてgcc などなどをインストール

先述のいずれかの方法で、kernel-headerをインストール(あるいはインストールできるように)しておいてください。 では各種コンパイラなどをインストールしてみます。
sudo yum install gcc-c++ autoconf automake
もし2番目の方法を使た場合は、kernel制限を戻す時はこれで (戻したら、次回以降のyumで同様のkernel-headerのバージョンエラーが出た時は直してね) sudo sed -e "s/#exclude=kernel/exclude=kernel/" /etc/yum.conf -i

まとめ

知らないとハマるのでご参考になれば。 次回は、GNOMEのインストールです。