さてpypyアドベントカレンダー 22日目ですよ。
このブログのエントリは半分くらいがアドベントカレンダー参加のために書かれています。
pypyはc以外にもjython, CLIのバックエンドがあると聞いて!
ということで、WindowsやらUbuntuやらでがんばってみました。
タイトルどおりまあ、完敗だったわけですが。
まずWindows
とりあえずWindows SDK 6.1で挑戦。
うっかり入っていたMonoを検出されてしまい時間をとられる。
基本的に.NET SDK使おうとしてるようだけど、MonoがあるとアセンブラだけMonoのilasm2使おうとするらしい。でもそんなファイルないですから!
しょうがないので該当部分をちょこっと変えてMonoのことは忘れてもらいました。
そして、ビルド開始。
pypy translate.py -Ojit --backend=cli
として待つこと10分くらい?
どのくらい進んだかなーと画面を確認したらエラーで止まってました。(´・ω・`)
UnicodeBuilderReprのll_getlengthがないのが原因のようで。
というかないのは問題ではなく、ないものを使おうとしてるのが問題?
このあたり良くわからないので、他の組み合わせでもやってみました。
ubuntu 64bitで挑戦。
結果として、64bitは long == longlong であるために、 型の区別がつかない -> bad overridingエラーという、もう根本的にだめじゃね?というエラーでストップ。
ということで32bit ubuntuで挑戦
エラーです。StringReprのconvertルールが見つからないというエラー。
心折すぎる。
結局どのプラットフォームでもpypy cli のバイナリ生成すらできませんでした。
cliならクロスプラットフォームなので、公式なバイナリが出てくれればいいのですが。
ということで、1周目、2周目と負け続きのエントリでした。
来年はもっとpypyを勉強して言語作成とかの話したい。
次は、@chlere ですね。よろしくお願いします。