Nov 6, 2003

          onlsbc1, Debian GNU/Linux 3.0 のシステムでのJavaRMIの実行
                 ---  リモートマシンからの例題ソフトの実行  #6
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  (http://www-online.kek.jp/~inoue/para-CAMAC/
                                   Work/CAMAC-JavaRMI6.html)



                        高エネルギー加速器研究機構
                            素粒子原子核研究所
                         物理、オンライングループ
                                井上 栄二



	目的

	    リモートマシン onlnote2 から、CC/NET上のSBCである onlsbc1 を
	    ターゲットマシンとして、JavaRMIとJNIを使ったWebアプリケーションで
	  CAMAC read/write を実行する。 onlsbc1 上で動作している OSは
	  Debian GNU/Linux 3.0 である。


	(1). 構成
	(2). ソフトウェア
	(3). 実行

  --------------------------------------------------------------------


 (1). 構成

	テストに使用するマシンは onlnote2 と onlsbc1 である。 マシン onlnote2 は
	Winodws XP が動作している。 Java1.4.1_02 である。 一方 onlsbc1 は、
	アドバンテク社のSBC、PCM-9370である。 このSBCは、CAMACコントローラ上に
	装着されている。 SBC上で動作している OSは Debian GNU/Linux 3.0 で、
	コンパクトフラッシュ上に構成してある。 Javaのバージョンは1.4.2_01で
	ある。


 (2). ソフトウェア

	リモートから CC/NETにアクセスして CAMAC実行を行うことができる Webアプリ
	ケーション例題プログラム、Web3を実行する。 


   (2-1).  サーバ側、onlsbc1.kek.jp

     (2-1-1).  Javaのチェック

toyo@onlsbc1:~$ java -version
java version "1.4.2_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_01-b06)
Java HotSpot(TM) Client VM (build 1.4.2_01-b06, mixed mode)
toyo@onlsbc1:~$


     (2-1-2).  実行環境

toyo@onlsbc1:~$ env
PWD=/home/toyo
PS1=\u@\h:\w\$
USER=toyo
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:c
d=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:
*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*
.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01
;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.ti
f=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35
:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:
MAIL=/var/mail/toyo
SSH_CLIENT=130.87.219.75 32814 22
LOGNAME=toyo
SHLVL=1
SHELL=/bin/bash
HOME=/home/toyo
TERM=vt100
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/java/bin
SSH_TTY=/dev/pts/0
_=/usr/bin/env
toyo@onlsbc1:~$


     (2-1-3).  ソフトウェア

	CAMAC-JavaRMI5.htmlで使用したソフトをそのまま実行してみる。

toyo@onlsbc1:~/public_html/Web$ pwd
/home/toyo/public_html/Web
toyo@onlsbc1:~/public_html/Web$ ls -l
total 138
-rw-r--r--    1 toyo     toyo          206 Oct 23 08:33 Client.class
-rw-r--r--    1 toyo     toyo          234 Jul 30 14:50 Client.java
-rw-r--r--    1 toyo     toyo         3559 Oct 23 08:33 ClientImpl.class
-rw-r--r--    1 toyo     toyo        17458 Jul 30 14:50 ClientImpl.java-bak
-rw-r--r--    1 toyo     toyo         1735 Oct 23 08:33 ClientImpl_Skel.class
-rw-r--r--    1 toyo     toyo         3140 Oct 23 08:33 ClientImpl_Stub.class
-rw-r--r--    1 toyo     toyo         1604 Jul 30 14:50 Makefile
-rw-r--r--    1 toyo     toyo          244 Oct 23 08:33 Server.class
-rw-r--r--    1 toyo     toyo          298 Jul 30 14:50 Server.java
-rw-r--r--    1 toyo     toyo         2616 Oct 23 08:33 ServerImpl.class
-rw-r--r--    1 toyo     toyo         3394 Jul 30 14:50 ServerImpl.java
-rw-r--r--    1 toyo     toyo         1956 Oct 23 08:33 ServerImpl_Skel.class
-rw-r--r--    1 toyo     toyo         3510 Oct 23 08:33 ServerImpl_Stub.class
-rw-r--r--    1 toyo     toyo         2617 Jul 30 14:50 cam.c
-rw-r--r--    1 toyo     toyo          360 Oct 23 08:33 cam.class
-rw-r--r--    1 toyo     toyo          414 Oct 23 08:33 cam.h
-rw-r--r--    1 toyo     toyo          792 Jul 30 14:50 cam.java
-rw-r--r--    1 toyo     toyo        13325 Jul 30 14:50 camac.c
-rw-r--r--    1 toyo     toyo         9460 Oct 23 08:33 camac.o
-rwxr-xr-x    1 toyo     toyo        16157 Oct 23 08:33 libMyImpOfcam.so
-rw-r--r--    1 toyo     toyo         6364 Jul 30 14:50 pcc.h
-rw-r--r--    1 toyo     toyo           81 Jul 30 14:50 policy
-rwxr-xr-x    1 toyo     toyo          123 Jul 30 14:50 web.sh
-rw-r--r--    1 toyo     toyo          186 Jul 30 14:50 web3-inoue.mem
-rw-r--r--    1 toyo     toyo         4212 Oct 23 08:33 web3.class
-rw-r--r--    1 toyo     toyo         2454 Jul 30 17:43 web3.html
-rw-r--r--    1 toyo     toyo        11931 Aug  1 17:59 web3.java
-rw-r--r--    1 toyo     toyo        11879 Aug  1 17:42 web3.java-org
toyo@onlsbc1:~/public_html/Web$


     (2-1-4).  CAMACライブラリおよびドライバのインストール

	/home/toyoディレクトリの下にはすでにコンパイル済みのCAMACライブラリおよ
	びドライバプログラムが置いてある。 さらに、CAMACドライバは、CC/NET起動
	時にカーネルに組み込まれている。

toyo@onlsbc1:~/public_html/Web$ /sbin/lsmod
Module                  Size  Used by    Tainted: P
pcc                     8160   0 (unused)
eepro100               17264   1
keybdev                 1664   0 (unused)
usbkbd                  2848   0 (unused)
input                   3072   0 [keybdev usbkbd]
usb-uhci               20708   0 (unused)
usbcore                48032   0 [usbkbd usb-uhci]
toyo@onlsbc1:~/public_html/Web$


     (2-1-5).  例題プログラムのコンパイルおよび web3プログラムの実行

	/home/toyo/public_html/Webディレクトリの下にはすでにコンパイル済みの例題
	プログラムが置いてある。 

	apache を起動する。

onlsbc1:/home/toyo/public_html/Web# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Nov05 ?        00:00:35 init
root         2     1  0 Nov05 ?        00:00:00 [keventd]
root         3     0  0 Nov05 ?        00:00:00 [ksoftirqd_CPU0]
root         4     0  0 Nov05 ?        00:00:00 [kswapd]
root         5     0  0 Nov05 ?        00:00:00 [bdflush]
root         6     0  0 Nov05 ?        00:00:00 [kupdated]
root         7     1  0 Nov05 ?        00:00:00 [i2oevtd]
root         8     1  0 Nov05 ?        00:00:00 [kjournald]
root        43     1  0 Nov05 ?        00:00:00 [khubd]
daemon     113     1  0 Nov05 ?        00:00:00 /sbin/portmap
root       167     1  0 Nov05 ?        00:00:00 /sbin/syslogd
root       170     1  0 Nov05 ?        00:00:00 /sbin/klogd
root       175     1  0 Nov05 ?        00:00:00 /sbin/rpc.statd
root       180     1  0 Nov05 ?        00:00:00 /usr/sbin/inetd
root       186     1  0 Nov05 ?        00:00:00 /usr/sbin/lpd
root       195     1  0 Nov05 ?        00:00:01 /usr/sbin/sshd
daemon     198     1  0 Nov05 ?        00:00:00 /usr/sbin/atd
root       201     1  0 Nov05 ?        00:00:00 /usr/sbin/cron
root       206     1  0 Nov05 tty1     00:00:00 /sbin/getty 38400 tty1
root       207     1  0 Nov05 tty2     00:00:00 /sbin/getty 38400 tty2
root       208     1  0 Nov05 tty3     00:00:00 /sbin/getty 38400 tty3
root       209     1  0 Nov05 tty4     00:00:00 /sbin/getty 38400 tty4
root       210     1  0 Nov05 tty5     00:00:00 /sbin/getty 38400 tty5
root       211     1  0 Nov05 tty6     00:00:00 /sbin/getty 38400 tty6
root       526   195  0 09:16 ?        00:00:00 /usr/sbin/sshd
toyo       528   526  0 09:19 ?        00:00:00 /usr/sbin/sshd
toyo       529   528  0 09:19 pts/0    00:00:00 -bash
root       554   529  0 09:44 pts/0    00:00:00 bash
root       555   554  0 09:44 pts/0    00:00:00 ps -ef
onlsbc1:/home/toyo/public_html/Web#
onlsbc1:/home/toyo/public_html/Web# /usr/sbin/apachectl start
[Thu Nov  6 09:44:55 2003] [alert] apache: Could not determine the server's full
y qualified domain name, using 127.0.0.1 for ServerName
/usr/sbin/apachectl start: httpd started
onlsbc1:/home/toyo/public_html/Web#
onlsbc1:/home/toyo/public_html/Web# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Nov05 ?        00:00:35 init
root         2     1  0 Nov05 ?        00:00:00 [keventd]
root         3     0  0 Nov05 ?        00:00:00 [ksoftirqd_CPU0]
root         4     0  0 Nov05 ?        00:00:00 [kswapd]
root         5     0  0 Nov05 ?        00:00:00 [bdflush]
root         6     0  0 Nov05 ?        00:00:00 [kupdated]
root         7     1  0 Nov05 ?        00:00:00 [i2oevtd]
root         8     1  0 Nov05 ?        00:00:00 [kjournald]
root        43     1  0 Nov05 ?        00:00:00 [khubd]
daemon     113     1  0 Nov05 ?        00:00:00 /sbin/portmap
root       167     1  0 Nov05 ?        00:00:00 /sbin/syslogd
root       170     1  0 Nov05 ?        00:00:00 /sbin/klogd
root       175     1  0 Nov05 ?        00:00:00 /sbin/rpc.statd
root       180     1  0 Nov05 ?        00:00:00 /usr/sbin/inetd
root       186     1  0 Nov05 ?        00:00:00 /usr/sbin/lpd
root       195     1  0 Nov05 ?        00:00:01 /usr/sbin/sshd
daemon     198     1  0 Nov05 ?        00:00:00 /usr/sbin/atd
root       201     1  0 Nov05 ?        00:00:00 /usr/sbin/cron
root       206     1  0 Nov05 tty1     00:00:00 /sbin/getty 38400 tty1
root       207     1  0 Nov05 tty2     00:00:00 /sbin/getty 38400 tty2
root       208     1  0 Nov05 tty3     00:00:00 /sbin/getty 38400 tty3
root       209     1  0 Nov05 tty4     00:00:00 /sbin/getty 38400 tty4
root       210     1  0 Nov05 tty5     00:00:00 /sbin/getty 38400 tty5
root       211     1  0 Nov05 tty6     00:00:00 /sbin/getty 38400 tty6
root       526   195  0 09:16 ?        00:00:00 /usr/sbin/sshd
toyo       528   526  0 09:19 ?        00:00:00 /usr/sbin/sshd
toyo       529   528  0 09:19 pts/0    00:00:00 -bash
root       554   529  0 09:44 pts/0    00:00:00 bash
root       558     1  3 09:44 ?        00:00:00 /usr/sbin/apache
www-data   559   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   560   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   561   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   562   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   563   558  0 09:44 ?        00:00:00 /usr/sbin/apache
root       564   554  0 09:45 pts/0    00:00:00 ps -ef
onlsbc1:/home/toyo/public_html/Web#

	CC/NET起動時に、CAMAC-PCI インターフェース部はすでに利用可能な状態に
	セットされている。 従って、この時点では "./w e840 1" の操作は必要ない。

onlsbc1:/home/toyo/public_html/Web# pwd
/home/toyo/public_html/Web
onlsbc1:/home/toyo/public_html/Web# export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
onlsbc1:/home/toyo/public_html/Web#
onlsbc1:/home/toyo/public_html/Web# rmiregistry &
[1] 566
bash: rmiregistry: command not found
onlsbc1:/home/toyo/public_html/Web#

	root のアカウントでは java の PATH を設定しいなかったようだ。 設定する。

onlsbc1:/home/toyo/public_html/Web# vi /root/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.

export PS1='\h:\w\$ '
umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval `dircolors`
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

export PATH=$PATH:/usr/java/bin
~
/root/.bashrc: 18 lines, 443 characters
onlsbc1:/home/toyo/public_html/Web#

onlsbc1:/home/toyo/public_html/Web# source /root/.bashrc
onlsbc1:/home/toyo/public_html/Web# which java
/usr/java/bin/java
onlsbc1:/home/toyo/public_html/Web#

onlsbc1:/home/toyo/public_html/Web# rmiregistry &
[1] 578
onlsbc1:/home/toyo/public_html/Web# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Nov05 ?        00:00:35 init
root         2     1  0 Nov05 ?        00:00:00 [keventd]
root         3     0  0 Nov05 ?        00:00:00 [ksoftirqd_CPU0]
root         4     0  0 Nov05 ?        00:00:00 [kswapd]
root         5     0  0 Nov05 ?        00:00:00 [bdflush]
root         6     0  0 Nov05 ?        00:00:00 [kupdated]
root         7     1  0 Nov05 ?        00:00:00 [i2oevtd]
root         8     1  0 Nov05 ?        00:00:00 [kjournald]
root        43     1  0 Nov05 ?        00:00:00 [khubd]
daemon     113     1  0 Nov05 ?        00:00:00 /sbin/portmap
root       167     1  0 Nov05 ?        00:00:00 /sbin/syslogd
root       170     1  0 Nov05 ?        00:00:00 /sbin/klogd
root       175     1  0 Nov05 ?        00:00:00 /sbin/rpc.statd
root       180     1  0 Nov05 ?        00:00:00 /usr/sbin/inetd
root       186     1  0 Nov05 ?        00:00:00 /usr/sbin/lpd
root       195     1  0 Nov05 ?        00:00:01 /usr/sbin/sshd
daemon     198     1  0 Nov05 ?        00:00:00 /usr/sbin/atd
root       201     1  0 Nov05 ?        00:00:00 /usr/sbin/cron
root       206     1  0 Nov05 tty1     00:00:00 /sbin/getty 38400 tty1
root       207     1  0 Nov05 tty2     00:00:00 /sbin/getty 38400 tty2
root       208     1  0 Nov05 tty3     00:00:00 /sbin/getty 38400 tty3
root       209     1  0 Nov05 tty4     00:00:00 /sbin/getty 38400 tty4
root       210     1  0 Nov05 tty5     00:00:00 /sbin/getty 38400 tty5
root       211     1  0 Nov05 tty6     00:00:00 /sbin/getty 38400 tty6
root       526   195  0 09:16 ?        00:00:00 /usr/sbin/sshd
toyo       528   526  0 09:19 ?        00:00:00 /usr/sbin/sshd
toyo       529   528  0 09:19 pts/0    00:00:00 -bash
root       554   529  0 09:44 pts/0    00:00:00 bash
root       558     1  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   559   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   560   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   561   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   562   558  0 09:44 ?        00:00:00 /usr/sbin/apache
www-data   563   558  0 09:44 ?        00:00:00 /usr/sbin/apache
root       578   554  3 10:00 pts/0    00:00:01 rmiregistry
root       579   578  0 10:00 pts/0    00:00:00 rmiregistry
root       580   579  0 10:00 pts/0    00:00:00 rmiregistry
root       581   579  0 10:00 pts/0    00:00:00 rmiregistry
root       582   579  0 10:00 pts/0    00:00:00 rmiregistry
root       583   579  0 10:00 pts/0    00:00:00 rmiregistry
root       584   579  0 10:00 pts/0    00:00:00 rmiregistry
root       585   579  3 10:00 pts/0    00:00:01 rmiregistry
root       586   579  0 10:00 pts/0    00:00:00 rmiregistry
root       588   579  0 10:00 pts/0    00:00:00 rmiregistry
root       589   579  0 10:00 pts/0    00:00:00 rmiregistry
root       590   554  0 10:00 pts/0    00:00:00 ps -ef
onlsbc1:/home/toyo/public_html/Web#

onlsbc1:/home/toyo/public_html/Web# java ServerImpl
bind done

	NG.  Naming.lookup()を実行したところで、"Failed to setup for RMI" に
	なってしまう。



---xxxx

	以降、http://www-online.kek.jp/~inoue/Parallel-CAMAC/Work/SBC-Linux24.html
	および、http://www-online.kek.jp/~inoue/Parallel-CAMAC/Work/SBC-Linux25.html
	で検討した。