airproxy

  • airproxy ## on FreeBSD 7.1-RELEASE/amd64
  • JDK をインストール
    • 今回は java/diablo-jdk16 を使用
    • fastload なしでいいなら JRE でもよさげ
    • あらかじめ配布物を FreeBSD Foundation Java Downloads (jdk/jre 本体) や Sun のサイト (tzupdater) から落として /usr/ports/distfiles へ
    • portinstall java/diablo-jdk16

  • libungif のインストール
    • libfastload.so が必要とする
    • portinstall libungif

  • libfastload.so のビルド
    • このために JDK が必要
      • jni.h と jni_md.h をどこからか持ってくるだけでもいいかも
    • Makefile.linux の修正
      --- Makefile.linux.orig 2005-11-06 23:04:48.000000000 +0900
      +++ Makefile.linux 2009-03-28 19:12:30.000000000 +0900
      @@ -1,7 +1,7 @@
      CPP = g++
      CC = gcc
      -OPT = -O3 -I /usr/local/java/include -I /usr/local/java/include/linux
      +OPT = -O3 -fPIC -I /usr/local/include -I /usr/local/diablo-jdk1.6.0/include -I /usr/local/diablo-jdk1.6.0/include/freebsd -L /usr/local/lib
      .PHONY: all all-before all-after clean clean-custom
      @@ -11,7 +11,7 @@
      rm -f *.o libfastload.so test.exe
      libfastload.so: fastload.o png.o jpeg.o gif.o
      - $(CC) -shared -o libfastload.so fastload.o png.o jpeg.o gif.o -lpng -lz -lungif -ljpeg
      + $(CC) -shared -o libfastload.so fastload.o png.o jpeg.o gif.o -lpng -lz -lungif -ljpeg $(OPT)
      test.exe: test.o png.o jpeg.o gif.o
      $(CC) -s test.o png.o jpeg.o gif.o -o test.exe -ljpeg -lpng -lz -lungif $(OPT)
      • -fPIC は amd64 なマシンなためか /usr/bin/ld: fastload.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC と言われたので
    • % gmake -f Makefile.linux
    • できた libfastload.so を airproxy のディレクトリへ移動
  • airproxy の設定
  • airproxy の起動
    • % java -Djava.library.path=. -jar airproxy.jar
      • java.library.path には libfastload.so のある場所を指定してやる

問題点

### 接続の設定で airproxy を通すよう設定した場合 * モバイル Google マップが使えなくなる * airproxy の前に privoxy など噛ませてやるとか? * /usr/local/etc/privoxy/config の actionsfile user.action のコメントアウトを解除

Last edited by n13i, 2009-03-28 22:53:16