gauche の make
普通に make したらどうなるんだろ、という事にトライしてみました。-static 付けずに make して emulator の /system/lib とか /system/bin とかに置いたらどうなるのか、と。
まず configure からですが、CC だけではなくて AR とか LD とかも置き換えの必要あり?
# RANLIB もかなぁ。
という事にて以下。
$ CC=arm-linux-gnueabi-gcc AR=arm-linux-gnueabi-ar LD=arm-linux-gnueabi-ld \ RANLIB=arm-linux-gnueabi-ranlib ./configure --host=armel-unknown-linux \ --build=arm-linux-gnueabi --enable-multibyte=utf-8 --enable-threads=pthreads
で、make
$ make
-static 付けてないので無事に済むはずなんですがどうか。
済んだ。どうやって emulator に転送したんだったっけ。違う、virtualbox のゲストからホストに、だ。なんとなく凄い無理矢理 scp した記憶が蘇えってきた。
で、ホスト側にて以下。
$ scp -P 50022 user@localhost:/home/user/Gauche-0.8.14/src/libgauche.so . $ scp -P 50022 user@localhost:/home/user/Gauche-0.8.14/src/gosh .
とりあえず転送 (adb があるディレクトリにて
$ ./adb push ~/gosh /data/. $ ./adb push ~/libgauche.so /data/.
で、転送したのですが、ファイルの移動ができまそん。これはやっぱ static な実行ファイルを作るのが早いのでしょうか。
あと、emulator ん中で実行しようとしてみた。以下。
# ls -l -rwxrwxrwx root root 3470362 2009-09-11 22:52 libgauche.so -rwxrwxrwx root root 42778 2009-09-11 22:51 gosh drwxrwx--t system misc 2009-09-03 09:16 misc drwxrwx--x shell shell 2009-09-03 09:16 local drwxrwx--x system system 2009-09-03 09:16 data drwxrwx--x system system 2009-09-03 09:16 app-private drwxrwx--x system system 2009-09-03 09:16 app drwx------ root root 2009-09-03 09:16 property drwxrwxrwx system system 2009-09-03 09:17 anr -rwxrwxrwx root root 551300 2009-09-10 17:22 hello drwxrwx--x system system 2009-09-03 09:16 dalvik-cache drwxrwxr-x system system 2009-09-03 09:17 system drwxrwx--- root root 2009-09-03 09:16 lost+found # ./gosh ./gosh: not found # ./hello Hello, world! #
何故でしょう。やはり -static って付けてないのが微妙なのでしょうか。そのあたりを調べつつ、とりあえず別途 gosh + libgauche.so な gosh を作ってみてリトライ予定。
あと、週明け実機で、とも思ってたりします。(大丈夫かなぁ