MacにKH Corderをインストールする際のエラー解消法

R

概要

Macに言語解析用のソフトKH Corderをインストールする際につまったエラーを記します。

ちなみにWindowsユーザーはRとKH Corderをダウンロードすることで、何の苦労もなく、動作できるので不要かと…

手順

  1. homebrewのインストール
  2. Rのインストール
    1. Rの本体のインストール
    2. もろもろのパッケージのインストール
    3. igraphだけローカルにインストールして移動して、コマンドから解凍
  3. mecab(形態素解析エンジン)のインストール
  4. Perlの関連モジュールのインストール
    1. cpanのインストール
    2. もろもろのパッケージのインストール
  5. KH Corderのインストール
  6. X Quartzのインストール
  7. X Quartz.appを起動
  8. KH Corderを起動

以上でできます。今回は詰まったところのみ、かいつまんで…

詰まったエラー

まず、Tk.pmがインストールされてないらしく、不明なエラーを出しました。

Can't locate Tk.pm in @INC (you may need to install the Tk module) (@INC contains: /Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-thread-multi-2level /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2/darwin-thread-multi-2level /Library/Perl/Updates/5.18.2 /System/Library/Perl/5.18/darwin-thread-multi-2level /System/Library/Perl/5.18 /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level /System/Library/Perl/Extras/5.18 .) at kh_coder.pl line 105,  line 855.
 
BEGIN failed--compilation aborted at kh_coder.pl line 105,  line 855.

仕方ないので、Tkをインストールしたところまで戻る。

怪しいので、ググる。

ちゅんぐらむ 〜プログラム初心者の検索メモ〜
2012年4月にプログラミングを始めた初心者プログラマが、プログラミングしていく中でぶちあたった問題を、どのように解決したかを記します。 PHP・Smarty、Android(Java・Eclipse)、Objective-Cなど。

XQuarzがあればいけるっぽいので、ダウンロード。

sudo ln -s /opt/X11 /usr/X11

しかしダメ。

$ ls /usr/X11
X11 bin lib libexec
$ ls /usr/X11R6
X11 bin lib libexec

X11もX11R6もusr/の下に入っているっぽい。

ただ
/usr/X11R6/include
がないらしい。

XQuarzのインストールは

sudo ln -s /opt/X11 /usr/X11

でやったのですが、これだと/usr/X11R6/include がインストールされないみたいです。

仕方ないので、公式からdmgファイルをインストール。

$ ls /usr/x11R6/include
GL      X11     freetype2   pngconf.h   xpyb.h
GLES        Xplugin.h   libpng16    pnglibconf.h
GLES2       cairo       pixman-1    xcb
GLES3       fontconfig  png.h       xorg

/usr/X11R6/include が正常に見つかる。

再びcpanからtk.pmをインストール

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
ERROR: Can't create '/Library/Perl/5.18/darwin-thread-multi-2level'
 
Do not have write permissions on '/Library/Perl/5.18/darwin-thread-multi-2level'
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

強そうなエラーが出ましたが・・・これはsudo権限でインストールしたら解決しました。

その他、install DBD::CSVが未インストールというエラーが出たので、上記のURLにしたがってインストール。

さらにSpreadsheet:WriteExcel、Unicode/String.pm、DBD/mysql.pm、YAML.pm、Spreadsheet/ParseExcel/FmtJapan.pm、Spreadsheet/ParseXLSX.pm、Statistics/Lite.pm、Algorithm/NaiveBayes.pmが未ダウンロードなので、
コマンドラインcpanで

install Spreadsheet:WriteExcel

のようにしてダウンロード。

起動すると、

This is KH Coder 2.00f on darwin.
CWD: /Applications/kh_coder
R Version: 3.4, x86_64
Using un-threaded functions...
couldn't connect to display ":0" at /Library/Perl/5.18/darwin-thread-multi-2level/Tk/MainWindow.pm line 53.
MainWindow->new() at /Applications/kh_coder/kh_lib/gui_window.pm line 117.
Warning message:
In Sys.setlocale(category = "LC_ALL", locale = "ja_JP.EUC-JP") :
  OS reports request to set locale to "ja_JP.EUC-JP" cannot be honored

できてるっぽいですが、エラー。

ググってみると、先にX11.appの起動が先らしいです。
http://www.perlmonks.org/bare/?node_id=586134

しかしX11なるものはないので、アプリケーション > ユーティリティ > XQuartz.appをクリック。

再度、ターミナルからKH Corderを起動。

 

いけました!

コメント