Padre 1.0をMac OSX10.9に入れる
PHPStorm大好きなuzullaですこんばんわ。
基本的にコードはIDEで書きたいです、補完とかジャンプとか、デバッガーとかつかいたい。
しかしPerlにはまともなIDEがありません、EPIC?なにそれ?
Padreというやつがあるので、まあちょっとためしてみようとおもったんですが、前ためしたときdmgで配布されてるバイナリはめっちゃバージョンがふるくて話にならなかった。
でも、CPANで配布されてるわけですからね、自前でやれば最新版を入れられる筈です。
オチ
残念ながら、OSXではつかいものにはなりませんでした。
注意
仮想マシンのクリーンなMavericksで試しています、他の人で入らないという話もあるので、何かしらセンシティヴな所があるのかもしれません。
以下でReadlineをいれたりごちゃごちゃやってますが、一発ではいった、という情報もあるし、全然関係ないところでハマった、という情報もあったり、いままでにいれたライブラリの状況等々で色々かわってくると思います。
まずはなにも考えずにthread付きのPerlを用意して、cpanm Padre Wx Alien::wxWidgets してみるほうが早いかもしれません。
readlineの準備
readlineがないというか、なんかTerm::ReadLine::Gnuからおこられましたので、手でreadline 6.0をいれました。
これはbrew install readline ; brew link --force readlineでもダメでした(私の場合)
Found `/usr/lib/libtermcap.dylib'.
cc -I/usr/local/opt/readline/include/ -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -DHAVE_STRING_H rlver.c -o rlver -fstack-protector -lreadline -ltermcap
rlver.c:4:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main() { puts(rl_library_version); }
^~~~
1 warning generated.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
The libreadline you are using is the libedit library. Use the GNU Readline Library.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
wget ftp://ftp.gnu.org/gnu/readline/readline-6.0.tar.gz $ tar xvzf readline-6.0.tar.gz ./configure --prefix /usr/local/myopt
このままmakeしても以下エラーで通らないので
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.2
Thread model: posix
clang: error: invalid argument '-compatibility_version 6' only allowed with '-dynamiclib'
make[1]: *** [libreadline.6.0.dylib] Error 1
make: [shared] Error 2 (ignored)
vi shlib/Makefile
以下の行に -dynamiclib を追加
SHLIB_XLDFLAGS = -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v -dynamiclib
したのち
make all make install
で、readlineがはいります。
で、手でTerm::ReadLine::Gnuをいれます
wget http://www.cpan.org/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.20.tar.gz tar xvzf 〜 perl Makefile.PL --includedir=/usr/local/myopt/include/ --libdir=/usr/local/myopt/lib/ make all make install
これで下準備できました
Padre Install
http://padre.perlide.org/trac/wiki/DownloadUbuntu#InstallationfromCPAN
を参考に
cpanm Alien::wxWidgets cpanm Wx cpanm Padre
で、多分無事Padreがはいります。
(といいつつ、Wxについては一部のテストがコケたのでcpanm Wx --notestでごまかしました)
wxWidgetやWxのビルドには非常に時間がかかりますので、気長に待ちましょう。
起動
plenv rehash後、
padre
で起動します。
問題
wxWidgetsの仕様だとおもいますが、日本語が入力できません、X11とおなじでしょう、これは解決出来ない感じがすごい。
あと、デバッガがちゃんとうごきません、画面がめっちゃくずれたり、ハングったりする。
まとめ
まあ、Padreつかうなら、Windowsか、最新版ならUbuntuつかえって感じでしょうか。
Ubuntu13ならlibreadline-devをaptでいれれば、あとは公式の参考通りにするだけで*1普通に通りました。
日本語もインライン入力はできないものの、入力ができましたし、つかえそうです。
おわり。