TS-110のCPUはarm5。
x86系のQNASなら、素直にJava関係は入れられる。
なので、通常、Java関係をTS-110に入れるのは大変なのだ。


目次

JRE6(Java Runtime Environment 6)をインストール
javacがないのでjikesをインストール
Javaのライブラリィはどこに?


Javaのライブラリィはどこに?

/usr/local/jre/lib/rt.jar などがある場所
jikes でもここを指定するのか。
% ls -l /usr/local/jre
lrwxrwxrwx    1 root     administ       29 Aug 22 18:05 /usr/local/jre -> /share/HDA_DATA/.qpkg/JRE/jre/
% ls /usr/local/jre/
COPYRIGHT                    bin/
README                       lib/
THIRDPARTYLICENSEREADME.txt
% ls /usr/local/jre/bin/
java*    keytool*
% ls /usr/local/jre/lib/
alt-rt.jar                            fontconfig.Turbo.properties.src
alt-string.jar                        fontconfig.Ubuntu.bfc
arm/                                  fontconfig.Ubuntu.properties.src
calendars.properties                  fontconfig.bfc
classlist                             fontconfig.properties.src
cmm/                                  fonts/
content-types.properties              im/
ext/                                  images/
flavormap.properties                  jce.jar
fontconfig.RedHat.2.1.bfc             jexec*
fontconfig.RedHat.2.1.properties.src  jsse.jar
fontconfig.RedHat.3.bfc               jvm.hprof.txt
fontconfig.RedHat.3.properties.src    logging.properties
fontconfig.RedHat.4.bfc               management/
fontconfig.RedHat.4.properties.src    management-agent.jar
fontconfig.RedHat.6.0.bfc             meta-index
fontconfig.RedHat.6.0.properties.src  net.properties
fontconfig.RedHat.bfc                 psfont.properties.ja
fontconfig.RedHat.properties.src      psfontj2d.properties
fontconfig.SuSE.11.bfc                resources.jar
fontconfig.SuSE.11.properties.src     rt.jar
fontconfig.SuSE.bfc                   security/
fontconfig.SuSE.properties.src        servicetag/
fontconfig.Sun.bfc                    sound.properties
fontconfig.Sun.properties.src         zi/
fontconfig.Turbo.bfc
% 


JRE6(Java Runtime Environment 6)をインストール

TS-110はARM-V5なので、JavaをQPKGを使っては入れることができない。
だから、こうすることによって、ARM5にも入れることができた。
http://forum.qnap.com/viewtopic.php?f=163&t=15689を参考にした。
  1. http://java.sun.com/javase/downloads/embedded.jspからソースをもらってくる。
  2. いくつもあるが、タイプは、
    ARMv5 Linux - Headless (Early Access)
    EABI, glibc 2.5, Soft Float, Little Endian
    である。
  3. そのパターンで見つけると、現時点では、
    (旧)ejre-1_6_0_10-ea-b39-linux-armv5-sflt-eabi-headless-eval-31_jul_2009.tar.gz
    (新)ejre-1_6_0_27-fcs-b07-linux-arm-sflt-eabi-headless-18_jul_2011.tar.gz
    がみつかる。
  4. これを /share/Public ディレクトリィにダウンロードする。
    解凍はしない。tgzのままにしておく。
    ファイル名は/share/Public/ejre-1_6_0_10*.tar.gzになっていないといけない。
    もしもファイル名がちょっと違ってるなら、ejre-1_6_0_10XXX.tar.gzを以下のような手順で作っておく。
    1. % tar xzf ejre-1_6_0_27-fcs-b07-linux-arm-sflt-eabi-headless-18_jul_2011.tar.gz
    2. % mv ejre1.6.0_27 ejre1.6.0_10
    3. % tar czf - ejre1.6.0_10/ > ejre-1_6_0_10XXX.tar.gz
  5. JRE_6_arm-x19.zipをもらってくる。場所は
    http://ftp.qnap.com/QPKG/ARM/JRE_6_arm-x19.zip または、
    JRE_6_arm-x19.zip   JRE_6_arm-x19.zip
  6. これを解凍しJRE_6_arm-x19.qpkgを用意する。
    いつもやってるようにQPKGのインストールを行うと、 あとは自動で進んでくれる。
  7. 以上


javacがないのでjikesをインストール

http://tkamogashira.users.sourceforge.net/sodan/tips/jikes.html
が参考になる。
注意点は、
$ export BOOTCLASSPATH=/System/Library/Frameworks/JavaVM.framework/Classes/classes.jar
$ export BOOTCLASSPATH=/usr/java/j2sdk1.4.1/jre/lib/rt.jar
$ export CLASSPATH=$CLASSPATH:/usr/java/j2sdk1.4.1/jre/lib/rt.jar
$ jikes -encoding euc-jp Somefile.java
% /usr/local/jikes-1.22/bin/jikes \
-cp /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/rt.jar Sample2.java
% gij Sample2
This is a sample2.
gcj,gij,jikes
jikesソースダウンロード(バージョン1.22) jikes-1.22.tar.bz2
http://sourceforge.jp/projects/sfnet_jikes/downloads/Jikes/1.22/jikes-1.22.tar.bz2


GNU系のJavaの実装

GNU Classpathでは、Javaのクラスライブラリの開発をしている。