2014年12月11日木曜日

Mac OSX なぜか日本語入力が消せなくなった。対処法

普段からGoogle日本語入力を使っているのだが、あるアップデート時(多分Mountain Lionあたり)からなぜか純正日本語入力(ことえり?)が日本語入力の入力ソースの切り替えのオプションに入ってきて、しかも消せなくなった。この状態だと「日本語(Google)」、「日本語(ことえり)」、「Romaji」の3つの入力ソースを切り替えて使わなくてはならず煩わしい。削除したいが、入力ソースのことえりを削除するための-ボタンが無効にされている。

色々調べたところ、この記事から最低ひとつは英字入力ができるようになっていないといけない制約があることがわかった。上の絵をよく見ると実ははことえりがRomajiのところにチェックがついていて英字入力を可能にしている。英字入力の役割を担っているのがこのことえりのみとなっているために消せないということだ。つまり、別の英字入力ソースを加えれば消せるということ。
上図のように英字入力を入力ソースとして加える。
するとことえりを削除するための-ボタンが有効になるので、押す。
消える。

2014年12月10日水曜日

RHEL5でHaskell Platformをソースコードからホームディレクトリにインストールした時のメモ

以下のことをやっても結局動かない(PanDocを入れたかっただけなのですが、インストール失敗)。

基本的には以下のページを参考にした。
http://twdkz.wordpress.com/2011/12/21/installing-ghc-7-0-3-and-the-haskell-platform-on-rhel-5-6/

ダウンロードするもの

  • ghc-6.8.3-x86_64-unknown-linux.tar.bz2
  • ghc-6.10.4-src.tar.bz2
  • ghc-7.0.3-src.tar.bz2
  • haskell-platform-2011.2.0.1.tar.gz


それぞれ、GHCのページとHaskellのページから取ってきた。
Haskellの2011.2.0.1を入れるにはghc-7.0.3が必要で、ghc-7.0.3をソースからインストールするにはghc-6.10.4が、ghc-6.10.4にはghc-6.8.3が必要であるということで順番にいれていく。ghc-6.8.3ならglibcなどバージョンの関係でなのか、Linuxバイナリ版をインストールができるのでそれを使っている。ちなみにghc-7.0.3のインストールには新しいバージョンのgccが必要らしい。私の環境では幸いgcc4.1.2だけでなく、gcc4.4.1が入っていたのでそれをつかった。

ghc-6.8.3

SOFTWARE=$HOME/.software
tar xvf ghc-6.8.3-x86_64-unknown-linux.tar.bz2
cd ghc-6.8.3
CC=gcc44 ./configure --prefix=$SOFTWARE/ghc-6.8.3
make install
特に問題なくインストールできた。

ghc-6.10.4

ビルドの前に先ほどインストールしたghc-6.8.3のbinにパスを通してからインストール。
export PATH=$SOFTWARE/ghc-6.8.3/bin:$PATH
cd ../
tar xvf ghc-6.10.4-src.tar.bz2
cd ghc-6.10.4
./configure --prefix=$SOFTWARE/ghc-6.10.4 --with-gcc=gcc44
make && make install
makeに失敗。bfd.hのところで、#error config.h must be included before this header みたいなエラーがでた。Stackoverflowの投稿によると、autotools?を使っていないためPACKAGEとPACKAGE_NAMEがdefineされておらず怒られているっぽい。とりあえずの解決策として、怒られていたrts/Printer.cの先頭部分に
#define PACKAGE 1
#define PACKAGE_NAME 1
を入れて再度makeしたらコンパイルが通った。

ghc-7.0.3

export PATH=$SOFTWARE/ghc-6.10.4/bin:$PATH
cd ../
tar xvf ghc-7.0.3-src.tar.bz2
cd ghc-7.0.3
./configure --with-gcc=gcc44
make && make install
先ほどと同じbfd.hでこけるので同じ対応をしてビルド成功。

hasklell-platform-2011.2.0.1

export PATH=$SOFTWARE/ghc-7.0.3/bin:$PATH
cd ../
tar xvf haskell-platform-2011.2.0.1.tar.gz
cd haskell-platform-2011.2.0.1
./configure --prefix=$SOFTWARE/haskell-platform --with-gcc=gcc44
make
make install
問題なく成功。あとは.bashrcなどに以下のようなものを追加すれば良い。インストールの時に使ったファイルや古いGHCは消しても良い(と思う)。
SOFTWARE=$HOME/.software
export PATH=$SOFTWARE/haskell-platform/bin:$SOFTWARE/ghc-7.0.3/bin:$PATH

Cabalが動かん

cabal updateするとcabal-installの更新をしろと言われる。cabal install cabal-install をしてインストールしようとするが怒られる。
couldn't read caba file xxxx.cabal
的なことを言われる。stackoverflowのRichard曰く、cabalファイルのフォーマットが変わってしまい、古いcabalで読めないとのこと。新しいCabalをhttp://hackage.haskell.org/packages/archive/cabal-install/1.16.0.2/cabal-install-1.16.0.2.tar.gzからダウンロードしてREADMEの指示に従いインストールすることで解決ができるとのこと。
wget http://hackage.haskell.org/packages/archive/cabal-install/1.16.0.2/cabal-install-1.16.0.2.tar.gz
tar xvf cabal-install-1.16.0.2.tar.gz
cd cabal-install-1.16.0.2
chmod +x bootstrap.sh
./bootstrap.sh
$HOME/.cabal/binにバイナリができるので、忘れずにパスを通す設定をする。