CygwinにCaffeine Monkeyがmakeできない時
本エントリは,CygwinでCaffeine Monkeyをmakeするときに以下のようなエラーが表示された時の対処法です.
ちなみに,"Lisa Kitsune"は,私のWindowsのユーザ名=Cygwinでのユーザ名となります.
Lisa Kitsune@SIBERIA ~/js/src $ make -f Makefile.ref OS_ARCH=Linux cat: ../../dist/Linux_All_DBG.OBJ/nspr/Version: No such file or directory cd editline; make -f Makefile.ref all make[1]: ディレクトリ '/home/Lisa Kitsune/js/src/editline' に入ります gcc -o Linux_All_DBG.OBJ/editline.o -c -Wall -Wno-format -DXP_UNIX -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_Lisa Kitsune -DJSFILE -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DHAVE_STDLIB -DUNIQUE_HISTORY editline.c gcc: エラー: Kitsune: No such file or directory Makefile.ref:118: ターゲット 'Linux_All_DBG.OBJ/editline.o' のレシピで失敗しました make[1]: *** [Linux_All_DBG.OBJ/editline.o] エラー 1 make[1]: ディレクトリ '/home/Lisa Kitsune/js/src/editline' から出ます rules.mk:65: ターゲット 'all' のレシピで失敗しました make: *** [all] エラー 2
これから導入するぞという方は,私が投稿したこのエントリを参照して下さい.
さて,このエントリを閲覧されている方は,「ちゃんとオプション指定してるのにmakeできねぇ!とりあえずググるか!」という方だと思います.
結論から言いますと,Windowsユーザ名にスペースが存在すると,正常にmakeできないことが原因です.
私の環境では,前述のとおりWindowsユーザ名が"Lisa Kitsune"となっており,Cygwinはこのユーザ名を継承しています.
ユーザ名の"Lisa"と"Kitsune"の間に半角スペースが入っており,これが悪さをしているようです.
エラーをよく見てみましょう.
gcc: エラー: Kitsune: No such file or directory
半角スペースの部分でコマンドが途切れているような感じですね.
そのせいで正常にmakeできていないようです.
手っ取り早い対策としては,
のどちらかになるかと思います.
Cygwinのユーザ名を変更するためには,/etc/passwdを編集すると良い,というサイト様がありましたが,
私の環境ではこのファイルが見つからなかったため,Windowsユーザを新しく作成して対応しました.
本エントリが何かのお役に立てれば幸いです.