----------------------------------- SUKA Tool Kit Linux 版への変更点 Ver.1.1 20030707 Ver.1.0 20030630 Masayuki Akiyama (元は宮田さんのメモに基づく。) ----------------------------------- * Intro daqtk の中の /cmd /com /dat /func /get /stat を使えるようにする。through は コンパイルは通るようにするが使わない。 simulator は Linux では無理。 * Point 1 = Makefile の中の OPTIONS を変更。 src/*/*/ の中にある Makefile すべて OPTION = -g -xildoff -> OPTION = -g src/ から sed 's/-xildoff//' cmd/lib/Makefile > tmp ; mv tmp cmd/lib/Makefile sed 's/-xildoff//' cmd/observ/Makefile > tmp ; mv tmp cmd/observ/Makefile sed 's/-xildoff//' cmd/rpcrcv/Makefile > tmp ; mv tmp cmd/rpcrcv/Makefile sed 's/-xildoff//' dat/lib/Makefile > tmp ; mv tmp dat/lib/Makefile sed 's/-xildoff//' dat/observ/Makefile > tmp ; mv tmp dat/observ/Makefile sed 's/-xildoff//' dat/rpcrcv/Makefile > tmp ; mv tmp dat/rpcrcv/Makefile sed 's/-xildoff//' get/lib/Makefile > tmp ; mv tmp get/lib/Makefile sed 's/-xildoff//' get/observ/Makefile > tmp ; mv tmp get/observ/Makefile sed 's/-xildoff//' get/rpcrcv/Makefile > tmp ; mv tmp get/rpcrcv/Makefile sed 's/-xildoff//' stat/lib/Makefile > tmp ; mv tmp stat/lib/Makefile sed 's/-xildoff//' com/Makefile > tmp ; mv tmp com/Makefile sed 's/-xildoff//' func/Makefile > tmp ; mv tmp func/Makefile sed 's/-xildoff//' makefits/Makefile > tmp ; mv tmp makefits/Makefile sed 's/-xildoff//' monitor/Makefile > tmp ; mv tmp monitor/Makefile sed 's/-xildoff//' stars/Makefile > tmp ; mv tmp stars/Makefile sed 's/-xildoff//' through/lib/Makefile > tmp ; mv tmp through/lib/Makefile sed 's/-xildoff//' through/observ/Makefile > tmp ; mv tmp through/observ/Makefile sed 's/-xildoff//' through/rpcrcv/Makefile > tmp ; mv tmp through/rpcrcv/Makefile を実行。 * Point 2 = RPCRCV の関数名の変更と変数の追加 (SUN Rpc のコードを Linux に移植する時) たとえば cmd/rpcrcv/DAQtkCmdRpcRcv.c の場合 bool_t *daqtk_cmd_rpc_rcv_1( DAQtkRpc *qDAQtkRpc ) -> bool_t *daqtk_cmd_rpc_rcv_1_svc( DAQtkRpc *qDAQtkRpc, struct svc_req *b ) ^^^^ ^^^^^^^^^^^^^^^^^^^ cmd/rpcrcv/DAQtkCmdRpcRcv.c dat/rpcrcv/DAQtkDatRpcRcv.c get/rpcrcv/DAQtkGetRpcRcv.c through/rpcrcv/DAQtkThroughRpcRcv.c を全て編集する。 * Point 3 = #include を削除 cmd/lib/DAQtkCmdSnd_svc.c get/lib/DAQtkGetSnd_svc.c stat/lib/DAQtkStatSnd_svc.c dat/lib/DAQtkDatSnd_svc.c through/lib/DAQtkThroughSnd_svc.c cmd/rpcrcv/DAQtkCmdRcv_svc.c get/rpcrcv/DAQtkGetRcv_svc.c dat/rpcrcv/DAQtkDatRcv_svc.c through/rpcrcv/DAQtkThroughRcv_svc.c の中の netconfig.h を削除しておく。 * Point 4 = src/sh/DAQtkProcCheck.sh の変更 awk のパスを変更して nawk ではなく awk を使うようにする。 ps のオプションを aux にする。 STR=`/bin/ps -aux | /bin/grep " DAQtk" | /usr/bin/awk -v num=$1 '{ if( num==$2 ) {print "true"} }'` * Point 5 = RPC のはいたコードに対する sed コマンドの変更 */rpcrcv/src.add の sedコマンドファイルをすこし変更 cmd/rpcrcv/src.add dat/rpcrcv/src.add get/rpcrcv/src.add through/rpcrcv/src.add 1行目 /svc_run(/i\ <-- これでは通らない /svc_run (/i\ - <-- linuxではここにspaceが入る * Point 6 = sample Makefile から -xildoff を抜く sed 's/-xildoff//' sample/src/cmd/check/Makefile > tmp ; mv tmp sample/src/cmd/check/Makefile sed 's/-xildoff//' sample/src/cmd/exit/Makefile > tmp ; mv tmp sample/src/cmd/exit/Makefile sed 's/-xildoff//' sample/src/cmd/init/Makefile > tmp ; mv tmp sample/src/cmd/init/Makefile sed 's/-xildoff//' sample/src/cmd/rcv/Makefile > tmp ; mv tmp sample/src/cmd/rcv/Makefile sed 's/-xildoff//' sample/src/cmd/snd/Makefile > tmp ; mv tmp sample/src/cmd/snd/Makefile sed 's/-xildoff//' sample/src/dat/exit/Makefile > tmp ; mv tmp sample/src/dat/exit/Makefile sed 's/-xildoff//' sample/src/dat/init/Makefile > tmp ; mv tmp sample/src/dat/init/Makefile sed 's/-xildoff//' sample/src/dat/snd/Makefile > tmp ; mv tmp sample/src/dat/snd/Makefile sed 's/-xildoff//' sample/src/func/dec/Makefile > tmp ; mv tmp sample/src/func/dec/Makefile sed 's/-xildoff//' sample/src/func/equinox/Makefile > tmp ; mv tmp sample/src/func/equinox/Makefile sed 's/-xildoff//' sample/src/func/lst/Makefile > tmp ; mv tmp sample/src/func/lst/Makefile sed 's/-xildoff//' sample/src/func/macro/Makefile > tmp ; mv tmp sample/src/func/macro/Makefile sed 's/-xildoff//' sample/src/func/pix/Makefile > tmp ; mv tmp sample/src/func/pix/Makefile sed 's/-xildoff//' sample/src/func/ra/Makefile > tmp ; mv tmp sample/src/func/ra/Makefile sed 's/-xildoff//' sample/src/func/time/Makefile > tmp ; mv tmp sample/src/func/time/Makefile sed 's/-xildoff//' sample/src/func/utc/Makefile > tmp ; mv tmp sample/src/func/utc/Makefile sed 's/-xildoff//' sample/src/get/exit/Makefile > tmp ; mv tmp sample/src/get/exit/Makefile sed 's/-xildoff//' sample/src/get/init/Makefile > tmp ; mv tmp sample/src/get/init/Makefile sed 's/-xildoff//' sample/src/get/rcv/Makefile > tmp ; mv tmp sample/src/get/rcv/Makefile sed 's/-xildoff//' sample/src/get/snd/Makefile > tmp ; mv tmp sample/src/get/snd/Makefile sed 's/-xildoff//' sample/src/makefits/Makefile > tmp ; mv tmp sample/src/makefits/Makefile sed 's/-xildoff//' sample/src/monitor/Makefile > tmp ; mv tmp sample/src/monitor/Makefile sed 's/-xildoff//' sample/src/stat/exit/Makefile > tmp ; mv tmp sample/src/stat/exit/Makefile sed 's/-xildoff//' sample/src/stat/init/Makefile > tmp ; mv tmp sample/src/stat/init/Makefile sed 's/-xildoff//' sample/src/stat/snd/Makefile > tmp ; mv tmp sample/src/stat/snd/Makefile sed 's/-xildoff//' sample/src/through/exit/Makefile > tmp ; mv tmp sample/src/through/exit/Makefile sed 's/-xildoff//' sample/src/through/init/Makefile > tmp ; mv tmp sample/src/through/init/Makefile sed 's/-xildoff//' sample/src/through/rcv/Makefile > tmp ; mv tmp sample/src/through/rcv/Makefile sed 's/-xildoff//' sample/src/through/snd/Makefile > tmp ; mv tmp sample/src/through/snd/Makefile * Point 7 ソースに変更を加えても RPCGEN が通らないことがある。 そのままコンパイルしようとすると DAQtkGetRcv_svc の中の daqtk_get_rpc_rcv_prog_1 の関数のあたりでコンパイル エラーがでる。 touch src/get/rpcrcv/DAQtkGetRcv.x touch src/cmd/rpcrcv/DAQtkCmdRcv.x touch src/dat/rpcrcv/DAQtkDatRcv.x touch src/through/rpcrcv/DAQtkThroughRcv.x に touch してから Install obcp18 とすると OK。 * Point 8 (20030707) Little-Endian から Big-Endian の変換。 sample/src/makefits/testfits.c sample/src/dat/datsndmem.c sample/src/dat/datsndmem2.c のなかでデータを配列に書き込んでいる部分を sPrimeData[ic] = 100; -> sPrimeData[ic] = htons(100); とする。 以上です。