procServ-2.5.1の構築と動作確認

2011-04-19

 

概要:

LLRFシステムでの使用を想定し、baseR3.14.11に対応するprocServの最新版、procServ-2.5.1のビルドと動作確認を行った。ビルドの開発環境としては、ノートPC上のCentOS4.6VMWare上で実行)を使用した。ビルドのターゲットはF3RP61とし、同ターゲット上での動作を確認した。

 

特記事項:

READMEを参照するとprocServ-2.5.1のビルドにはEPICSのビルド・システムが利用可能になったという記述がある。EPICSのビルド・システムを使う場合、extensions辺りにソースを置くことが想定されているようであるので、これに従うこととした。

 

EPICSのビルド・システムによるビルドの手順:

 

1. extensions とう名で新たなdirectory を作成し、そこに移動してbase-3-14-11makeBaseExt.pl をオプション “–t example” を付して実行する。

 

2. 上記により生成されたsrcの下にprocServ-2.5.1.tar.gzを展開する。

 

3. makeを実行する前に、procServ-2.5.1/ の下にあるスクリプト、 configure を実行する必要がある。(README参照)

 

4. このスクリプトには幾つかのオプションを付すことができる。今回は以下の二つのオプションを指定した。

 

.--with-epics-top=(TOP)

EPICSをビルドするためのconfigure directory(上記procServ-2.5.1configureスクリプトのことではない)が存在するTOP directoryの指定

 

--enable-access-from-anywhere

ローカルホスト以外からのログインを許可するための指定

 

実際にprocServ-2.5.1/ の下で実行したコマンドは以下の通りである。

 

./configure --enable-access-from-anywhere --with-epics-top=../..

 

5. extensions/configure/CONFIG_SITEを編集し、変数:

 

CROSS_COMPILER_TARGET_ARCHS =

 

に以下のようにクロス・コンパイルのターゲットを指定する。

 

CROSS_COMPILER_TARGET_ARCHS = linux-f3rp61

 

(これをしなければ、base/configure/CONFI_SITEで定義されている上記変数が extensions/configure/CONFIG_SITE によりNULLに上書きされてしまうため。)

 

6. extensions/src/Makefile

 

DIRS += procServ-2.5.1

 

を追加し、extensionsの下でmakeを実行したところ、directoryを移動してmakeを再帰的に実行する際にdirectory名、procServ-2.5.1が正しく渡らず、procServ-2 5.1”2” ”5” の間の ”.”がスペースに化ける)として渡るため、以下のようなエラー・メッセージが出た。

 

make -C ./procServ-2 5.1

make: *** ./procServ-2: No such file or directory.  Stop.

 

この問題は、procServ-2.5.1procServという名前でソフト・リンクを張ることで回避した。なお、extensionsが既に存在し、MEDMなど、linux-f3rp61をターゲットとしてビルドできないソースがある場合には、それを指定するDIRSをコメントアウトする必要があることに注意する。

 

動作確認:

 

以上の手順でビルドしたprocServF3RP61上で実行し、正しく動作することが確認できた。