2011/01/19

IS01でSL4AのPerlを動かす

SL4AからPerlを起動(という表現でいいのか?)する時にLD_LIBRARY_PATHにK.Takata氏がコンパイルしたlibm.soへのパスを追加できれば動くと思われるので、消極的な方法で動かしてみる。
libm.soはIS01でPerlを動かすを参照。

試してみる方は自己責任で。
必要なもの。
  1. root権限
  2. K.Takata氏がコンパイルしたlibm.so
手順
  1. Perl for Android のperl (/data/data/com.googlecode.perlforandroid/files/perl/perl)を「perl0」にリネーム
  2. libm.soを/data/data/com.googlecode.perlforandroid/lib/にコピーし、パーミッションを755、所有者を元々あったperlと同じにする。
  3. /data/data/com.googlecode.perlforandroid/files/perl/perlを以下の内容で作成し、元々あったperlと同じパーミッション、オーナーにする。
#!/system/bin/sh
LD_LIBRARY_PATH=/data/data/com.googlecode.perlforandroid/lib exec /data/data/com.googlecode.perlforandroid/files/perl/perl0 $*
2.のlibm.soは/data/に置いてもいけるはず。ただし、3.のLD_LIBRARY_PATHをそのように変更する必要あり。
3.のシェルスクリプトは、LD_LIBRARY_PATH ~ perl0 $* の部分は1行で記述。execは
無くてもいいかも。

Android for Perlのインストール時に一緒に入るサンプルのtest.plを動かしてみる。


test.pl内のテストは通った。
(gdataは実装されていないのでFAILになる)

ただ、perlをperl0とリネームしているので、何か影響があるかも。
これから色々試してみよう。

0 件のコメント:

コメントを投稿