Aug 13, 2005 onlpc03, Scientific Linux CERN 3 上で JDK5.0 をテスト --- JDK 5.0 のテスト実行 #1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/para-CAMAC/ Work/onlpc03-JDK5-1.html) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 目的 onlpc03 で稼動している Scientific Linux CERN Release 3.0.5 上で JDK 5.0 を使って Web3アプリケーションのコンパイルを行う。 項目 (1). camac および Web3 のパッケージを展開 (2). camacディレクトリ下のファイルをコンパイル (3). Webディレクトリ下のファイルをコンパイル -------------------------------------------------------------------- (1). camac および Web3 のパッケージを展開 [onlpc03] /home/inoue > cat /etc/issue Scientific Linux CERN Release 3.0.5 (SL) [onlpc03] /home/inoue > [onlpc03] /home/inoue/Web3 > pwd /home/inoue/Web3 [onlpc03] /home/inoue/Web3 > tar xzf Web-Sep152004.tar.gz [onlpc03] /home/inoue/Web3 > [onlpc03] /home/inoue/Web3 > tar xzf camac.tar.gz [onlpc03] /home/inoue/Web3 > ls -l 合計 68 -rw-r--r-- 1 inoue inoue 43466 8月 12 16:17 Web-Sep152004.tar.gz drwxrwxr-x 2 inoue inoue 4096 12月 19 2003 camac -rw-r--r-- 1 inoue inoue 16163 8月 12 16:27 camac.tar.gz drwxr-xr-x 3 inoue inoue 4096 9月 15 2004 public_html [onlpc03] /home/inoue/Web3 > [onlpc03] /home/inoue/Web3 > ls public_html Client.class Server.java cam.java web.sh Client.java ServerImpl.class camac.c web3-inoue.mem ClientImpl.class ServerImpl.java camac.c-bak web3.class ClientImpl.java-bak ServerImpl_Skel.class camac.o web3.html ClientImpl_Skel.class ServerImpl_Stub.class libMyImpOfcam.so web3.java ClientImpl_Stub.class cam.c pcc.h web3.java-org Makefile cam.class pcc.h-bak Server.class cam.h policy [onlpc03] /home/inoue/Web3 > [onlpc03] /home/inoue/Web3/camac > pwd /home/inoue/Web3/camac [onlpc03] /home/inoue/Web3/camac > ls Makefile camlib.c data_pattern.c exam1.c exam5.c pcc.c README camlib.h dec_cam.c exam2.c gen_cam.c pcc.h cam.c camtest1c.c dump_reg.c exam3.c get_cam.c put_cam.c camac.c clr_fifo.c exam0.c exam4.c get_camint.c rst_cam.c [onlpc03] /home/inoue/Web3/camac > (2). camacディレクトリ下のファイルをコンパイル [onlpc03] /home/inoue/Web3/camac > make gcc -O2 -Wall -c -D__KERNEL__ -DMODULE -Wall -I/usr/src/linux-2.4/include pcc.c gcc -O2 -c camac.c gcc -O2 -c camlib.c gcc -O2 -o gen_cam gen_cam.c camac.o gcc -O2 -o dec_cam dec_cam.c camac.o gcc -O2 -o dump_reg dump_reg.c camac.o gcc -O2 -o exam0 exam0.c camac.o gcc -O2 -o exam1 exam1.c data_pattern.c camac.o gcc -O2 -o exam2 exam2.c data_pattern.c camac.o gcc -O2 -o exam3 exam3.c data_pattern.c camac.o gcc -O2 -o exam4 exam4.c data_pattern.c camac.o gcc -O2 -o exam5 exam5.c data_pattern.c camac.o gcc -O2 -o cam cam.c camac.o gcc -O2 -o put_cam put_cam.c camac.o gcc -O2 -o get_cam get_cam.c camac.o gcc -O2 -o get_camint get_camint.c camac.o gcc -O2 -o clr_fifo clr_fifo.c camac.o gcc -O2 -o rst_cam rst_cam.c camac.o gcc -O2 -o camtest1c camtest1c.c camlib.c camac.o [onlpc03] /home/inoue/Web3/camac > (3). Webディレクトリ下のファイルをコンパイル 参考: JDK 5.0 では要素の型が指定されていないプログラムをコンパイルすると、 警告が出る。 型の安全性が保証されていないという意味である。 警告が出 た箇所を Generics に対応させていけば、型に関して安全なプログラムにする ことができる。 修正を施さないままコンパイルしてしまうには、オプション に、旧バージョン対応の指定をすることで処理することもできる。 そのやり 方は以下のとおり。 > javac -source 1.4 old-Sample.java この指定をすると、JDK 1.4のコンパイラと同じ処理を行い、警告は出ない。 [onlpc03] /home/inoue/Web3/public_html/Web > java -version java version "1.5.0_02" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-b09) Java HotSpot(TM) Client VM (build 1.5.0_02-b09, mixed mode, sharing) [onlpc03] /home/inoue/Web3/public_html/Web > [onlpc03] /home/inoue/Web3/public_html/Web > pwd /home/inoue/Web3/public_html/Web [onlpc03] /home/inoue/Web3/public_html/Web > ls Client.class Server.java cam.java web.sh Client.java ServerImpl.class camac.c web3-inoue.mem ClientImpl.class ServerImpl.java camac.c-bak web3.class ClientImpl.java-bak ServerImpl_Skel.class camac.o web3.html ClientImpl_Skel.class ServerImpl_Stub.class libMyImpOfcam.so web3.java ClientImpl_Stub.class cam.c pcc.h web3.java-org Makefile cam.class pcc.h-bak Server.class cam.h policy [onlpc03] /home/inoue/Web3/public_html/Web > [onlpc03] /home/inoue/Web3/public_html/Web > make make: `all' に対して行うべき事はありません。 [onlpc03] /home/inoue/Web3/public_html/Web > make clean rm -f *.class cam.h libMyImpOfcam.so *.o core *~ [onlpc03] /home/inoue/Web3/public_html/Web > [onlpc03] /home/inoue/Web3/public_html/Web > ls Client.java cam.c pcc.h-bak web3.java ClientImpl.java-bak cam.java policy web3.java-org Makefile camac.c web.sh Server.java camac.c-bak web3-inoue.mem ServerImpl.java pcc.h web3.html [onlpc03] /home/inoue/Web3/public_html/Web > [onlpc03] /home/inoue/Web3/public_html/Web > make gcc -c camac.c javac web3.java javac cam.java javah -jni cam gcc -O -shared -I/usr/java/include -I/usr/java/include/linux cam.c camac.o -o libMyImpOfcam.so javac ServerImpl.java rmic ClientImpl rmic ServerImpl [onlpc03] /home/inoue/Web3/public_html/Web > [onlpc03] /home/inoue/Web3/public_html/Web > ls -l 合計 172 -rw-rw-r-- 1 inoue inoue 116 8月 13 10:10 Client.class -rw-r--r-- 1 inoue inoue 262 8月 23 2004 Client.java -rw-rw-r-- 1 inoue inoue 3624 8月 13 10:10 ClientImpl.class -rw-r--r-- 1 inoue inoue 17458 7月 30 2003 ClientImpl.java-bak -rw-rw-r-- 1 inoue inoue 246 8月 13 10:11 ClientImpl_Stub.class -rw-r--r-- 1 inoue inoue 1629 8月 12 16:23 Makefile -rw-rw-r-- 1 inoue inoue 218 8月 13 10:10 Server.class -rw-r--r-- 1 inoue inoue 328 8月 23 2004 Server.java -rw-rw-r-- 1 inoue inoue 2626 8月 13 10:11 ServerImpl.class -rw-r--r-- 1 inoue inoue 3722 8月 23 2004 ServerImpl.java -rw-rw-r-- 1 inoue inoue 1888 8月 13 10:11 ServerImpl_Stub.class -rw-r--r-- 1 inoue inoue 2617 7月 30 2003 cam.c -rw-rw-r-- 1 inoue inoue 360 8月 13 10:10 cam.class -rw-rw-r-- 1 inoue inoue 414 8月 13 10:10 cam.h -rw-r--r-- 1 inoue inoue 792 7月 30 2003 cam.java lrwxrwxrwx 1 inoue inoue 19 8月 12 16:17 camac.c -> ../../camac/camac.c -rw-r--r-- 1 inoue inoue 13325 7月 30 2003 camac.c-bak -rw-rw-r-- 1 inoue inoue 8620 8月 13 10:10 camac.o -rwxrwxr-x 1 inoue inoue 14928 8月 13 10:10 libMyImpOfcam.so lrwxrwxrwx 1 inoue inoue 17 8月 12 16:17 pcc.h -> ../../camac/pcc.h -rw-r--r-- 1 inoue inoue 6364 7月 30 2003 pcc.h-bak -rw-r--r-- 1 inoue inoue 81 7月 30 2003 policy -rwxr-xr-x 1 inoue inoue 123 7月 30 2003 web.sh -rw-r--r-- 1 inoue inoue 186 7月 30 2003 web3-inoue.mem -rw-rw-r-- 1 inoue inoue 3941 8月 13 10:10 web3.class -rw-r--r-- 1 inoue inoue 2454 7月 30 2003 web3.html -rw-r--r-- 1 inoue inoue 12029 8月 23 2004 web3.java -rw-r--r-- 1 inoue inoue 11879 8月 1 2003 web3.java-org [onlpc03] /home/inoue/Web3/public_html/Web > ok. JDK 5.0 で、web3プログラムは正常にコンパイルできた。 ---xxxx