Changes between Initial Version and Version 1 of epics/install/epics_modules


Ignore:
Timestamp:
05/11/13 15:12:26 (12 years ago)
Author:
Takashi Obina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/install/epics_modules

    v1 v1  
     1= EPICS Modules インストール =
     2Software : seq, asyn は必ず入れていおいた方が良いと思います。その次にstream device がお勧め。
     3
     4== Sequencer ==
     5{{{
     6[epics@myvm1 ~]$ cd /opt/epics/R314.12.3/
     7[epics@myvm1 R314.12.3]$ ls
     8base  extensions
     9[epics@myvm1 R314.12.3]$ mkdir modules
     10[epics@myvm1 R314.12.3]$ cd modules/
     11[epics@myvm1 modules]$ mkdir soft instruments
     12[epics@myvm1 modules]$ cd soft
     13[epics@myvm1 soft]$ ls
     14[epics@myvm1 soft]$ mkdir asyn seq
     15[epics@myvm1 soft]$ ls
     16asyn  seq
     17[epics@myvm1 soft]$
     18[epics@myvm1 soft]$ cd seq
     19[epics@myvm1 seq]$ ls
     20[epics@myvm1 seq]$
     21[epics@myvm1 seq]$ gzip -dc /opt/epics/arc/seq-2.1.12.tar.gz | tar xvf -
     22[epics@myvm1 seq]$ mv seq-2.1.12 2.1.12
     23[epics@myvm1 seq]$ ls
     242.1.12
     25[epics@myvm1 seq]$ cd 2.1.12/
     26[epics@myvm1 2.1.12]$
     27[epics@myvm1 2.1.12]$ vi configure/RELEASE
     28
     29EPICS_BASE=/opt/epics/R314.12.3/base
     30
     31[epics@myvm1 2.1.12]$
     32[epics@myvm1 2.1.12]$ make
     33..........
     34make[3]: re2c: Command not found
     35..........
     36make: *** [src.install] Error 2
     37}}}
     38
     39エラーが出て停止した。re2cが必要とのこと。(以前のseqでは不要でしたが、公式サイトがBESSYに移った頃から必要になったようだ)
     40{{{
     41[root@myvm1 2.1.12]# yum provides "*/re2c"
     42Loaded plugins: fastestmirror
     43Loading mirror speeds from cached hostfile
     44 * base: reflx1.kek.jp
     45 * extras: reflx1.kek.jp
     46 * updates: reflx1.kek.jp
     47No Matches found
     48}}}
     49となるので、オフィシャルサイトのrpmは無さそう。
     50
     51
     52ソースからコンパイルしても良いし、yumの検索先にRepoForge(旧RPMforge)のサイトを追加することも可能ですが、
     53ここではコンパイル済みRPMをダウンロードして、手動で入れることにしてみる。
     54
     55{{{
     56http://pkgs.repoforge.org/re2c/
     57}}}
     58を見てみると最新バージョンは{{{ re2c-0.13.5-1.el6.rf.i686.rpm }}}らしい。
     59
     60{{{
     61[epics@myvm1 arc]$ wget http://pkgs.repoforge.org/re2c/re2c-0.13.5-1.el6.rf.i686.rpm
     62.....
     63(最終的には http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/re2c-0.13.5-1.el6.rf.i686.rpm からダウンロードしている)
     64}}}
     65
     66ダウンロードしたファイルの確認。
     67{{{
     68[root@myvm1 arc]# rpm -qpi re2c-0.13.5-1.el6.rf.i686.rpm
     69warning: re2c-0.13.5-1.el6.rf.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
     70Name        : re2c                         Relocations: (not relocatable)
     71Version     : 0.13.5                            Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
     72Release     : 1.el6.rf                      Build Date: Fri Nov 12 15:23:26 2010
     73Install Date: (not installed)               Build Host: lisse.hasselt.wieers.com
     74Group       : Development/Tools             Source RPM: re2c-0.13.5-1.el6.rf.src.rpm
     75Size        : 666792                           License: MIT
     76Signature   : DSA/SHA1, Sat Nov 13 08:05:12 2010, Key ID a20e52146b8d79e6
     77Packager    : Dag Wieers <dag@wieers.com>
     78URL         : http://re2c.sourceforge.net/
     79Summary     : Tool for generating C-based recognizers from regular expressions
     80Description :
     81re2c is a great tool for writing fast and flexible lexers. It has
     82served many people well for many years and it deserves to be
     83maintained more actively. re2c is on the order of 2-3 times faster
     84than a flex based scan
     85}}}
     86
     87インストールされるファイルの確認。
     88{{{
     89[root@myvm1 arc]# rpm -qpl re2c-0.13.5-1.el6.rf.i686.rpm
     90warning: re2c-0.13.5-1.el6.rf.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
     91/usr/bin/re2c
     92/usr/share/doc/re2c-0.13.5
     93/usr/share/doc/re2c-0.13.5/CHANGELOG
     94/usr/share/doc/re2c-0.13.5/README
     95......((略))..........
     96/usr/share/doc/re2c-0.13.5/sample.bib
     97/usr/share/man/man1/re2c.1.gz
     98}}}
     99
     100rootになってインストール
     101{{{
     102[root@myvm1 arc]# rpm -Uvh re2c-0.13.5-1.el6.rf.i686.rpm
     103warning: re2c-0.13.5-1.el6.rf.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
     104Preparing...                ########################################### [100%]
     105   1:re2c                   ########################################### [100%]
     106}}}
     107
     108これで re2c がインストールされたので、seq のコンパイルを実行
     109{{{
     110[epics@myvm1 ~]$ cd /opt/epics/R314.12.3/modules/soft/seq/2.1.12/
     111[epics@myvm1 2.1.12]$ make
     112}}}
     113エラーが出ずに終了
     114
     115== Asyn インストール ==
     116{{{
     117[epics@myvm1 ~]$ cd /opt/epics/R314.12.3/modules/soft/asyn
     118[epics@myvm1 asyn]$
     119[epics@myvm1 asyn]$ gzip -dc /opt/epics/arc/asyn4-21.tar.gz | tar xvf -
     120[epics@myvm1 asyn]$ ls
     121asyn4-21
     122[epics@myvm1 asyn]$ mv asyn4-21 4-21
     123[epics@myvm1 asyn]$ ls
     1244-21
     125[epics@myvm1 asyn]$ cd 4-21/
     126[epics@myvm1 4-21]$ vi configure/RELEASE
     127
     128SNCSEQ=$(EPICS_BASE)/../modules/soft/seq/2.1.12
     129EPICS_BASE=/opt/epics/R314.12.3/base
     130
     131[epics@myvm1 4-21]$ make
     132
     133}}}
     134
     135== Applicationのテスト ==
     136seqを有効にしてから example application を実行する。
     137{{{
     138[epics@myvm1 ~]$ cd app/example/
     139[epics@myvm1 example]$
     140[epics@myvm1 example]$ vi configure/RELEASE
     141
     142SNCSEQ=$(EPICS_BASE)/../modules/soft/seq/2.1.12
     143ASYN=$(EPICS_BASE)/../modules/soft/asyn/4-21
     144
     145
     146[epics@myvm1 example]$ make distclean
     147[epics@myvm1 example]$ make
     148.....
     149
     150[epics@myvm1 example]$ cd iocBoot/iocexample/
     151[epics@myvm1 iocexample]$ vi st.cmd
     152seq sncExample, "user=epicsHost"          <--- 最後の行のコメントを外す
     153
     154
     155
     156[epics@myvm1 iocexample]$ ./st.cmd
     157seq sncExample, "user=epicsHost"
     158Sequencer release 2.1.12, compiled Thu May  9 16:39:15 2013
     159Spawning sequencer program "sncExample", thread 0x9ee4bb0: "sncExample"
     160sncExample[0]: all channels connected & received 1st monitor
     161epics> sncExample: Startup delay over
     162sncExample: Changing to high
     163
     164
     165}}}
     166sequencerが動作して、値に応じてメッセージが出ることを確認。