perltip

Sian

University of Tokyo

            takekawa@sr3.t.u-tokyo.ac.jp
         

この文章では、threadがenableされたperlでモジュールのcompileに 失敗した時の対応について書いてあります。


threadがenableされたperl

と言われてもよくわからないかもしれませんが、versionを表示させてみて、
% perl -v

This is perl, v5.6.0 built for i586-linux-thread
のように-threadがついてればthreadがenableされたperlです。

compileの失敗

experimental扱いなので仕方がないと言えばそうなのですが、moduleによってはcompileに失敗します。次のように。
Lib.xs: In function `pii_run':
Lib.xs:1196: `thr' undeclared (first use in this function)
Lib.xs:1196: (Each undeclared identifier is reported only once
Lib.xs:1196: for each function it appears in.)

対処

こういう場合はERRSVの定義を直してやればだいたい通ります。
#undef ERRSV
#define ERRSV perl_get_sv("@",FALSE)