准备:
在CentOS7上已成功安装EPICS base软件包:安装过程见:EPICS -- base详细说明安装步骤_yuyuyuliang00的博客-CSDN博客
准备软件包:
synApps_6_1.tar.gz 下载地址:EPICSsynApps包-OS文档类资源-CSDN下载
安装过程:
- 解压synApps_6_1.tar.gz到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目录/到指定目/到指定目/到指定目录/到指定目录/到指定目录/到指定目录/指定目录/指定目/指定目/指定目/到指定目/到指定目/到指定目/指定目/指定目/到指定目/指定目/指定目/指定目usr/local/EPICS,然后建立软链接:
[root@centos7 epics]# tar -xvzf synApps_6_1.tar.gz /usr/local/EPICS/ ^C [root@centos7 epics]# tar -xvzf synApps_6_1.tar.gz -C /usr/local/EPICS/ synApps_6_1/ synApps_6_1/support/ ... synApps_6_1/support/quadEM [root@centos7 epics]# cd /usr/local/EPICS/ [root@centos7 EPICS]# ls base base-7.0.3.1 extensions extensions-master synApps_6_1 [root@centos7 EPICS]# ln -s synApps_6_1 synApps [root@centos7 EPICS]# ls base base-7.0.3.1 extensions extensions-master synApps synApps_6_1 [root@centos7 EPICS]#
- 进入synApps/support,查看以下所有文件和目录:
[root@centos7 EPICS]# cd synApps/support/ [root@centos7 support]# pwd /usr/local/EPICS/synApps/support [root@centos7 support]# ls alive-R1-1-1 calc-R3-7-3 dxp-R6-0 LICENSE modbus-R3-0 seq-2.2.8 utils allenBradley-2-3 camac-R2-7-1 dxpSITORO-R1-2 love-R3-2-7 motor_20200721.tar softGlue-R2-8-2 vac-R1-9 areaDetector-R3-7 caputRecorder-R1-7-2 iocStats-3-1-16 lua motor-R7-2-1 softGlueZynq-R2-0-2 vme-R2-9-2 assemble_synApps.sh configure ip330-R2-9 lua-R2-0 optics-R2-13-3 sscan-R2-11-3 xxx-R6-1 asyn4-38 dac128V-R2-9 ipac-2-15 Makefile quadEM-R9-2-1 std-R3-6 Yokogawa_DAS-R2-0-1 autosave-R5-10 delaygen-R1-2-1 ip-R2-20-1 mca-R7-8 README stream-2-6a busy-R1-7-2 documentation ipUnidig-R2-11 measComp-R2-3 README.md StreamDevice-2-8-9
- 以autosave-R以5-10为例,说明如何安装synApps下的EPICS模块:
1) 首先建立软链接,清理目录
[root@centos7 support]# ln -s autosave-R5-10 autosave # 建立软链接 [root@centos7 support]# cd autosave # 进入autosave指向的路径 [root@centos7 autosave]# make clean all # 进行清理
2) 编辑confiure下release文件,更改EPICS_BASE的值:
[root@centos7 autosave]# cat configure/RELEASE #RELEASE Location of external products # Run "gnumake clean uninstall install" in the application # top directory each time this file is changed. TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top # EPICS_BASE usually appears last so other apps can override stuff: EPICS_BASE=/usr/local/EPICS/base # 更改为base的安装路径 -include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH) #Capfast users may need the following definitions #CAPFAST_TEMPLATES= #SCH2EDIF_PATH= # These lines allow developers to override these RELEASE settings # without having to modify this file directly. -include $(TOP)/../RELEASE.local -include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local -include $(TOP)/configure/RELEASE.loca
3) 执行make进程编译:
[root@centos7 autosave]# make make -C ./configure install make[1]: Entering directory `/usr/local/EPICS/synApps_6_1/support/autosave-R5-10/configure' ... make[1]: Leaving directory `/usr/local/EPICS/synApps_6_1/support/autosave-R5-10/iocBoot' [root@centos7 autosave]#
3)在编译每个模块之前,需要修改该模块configure/RELEASE文件中EPICS_BASE和SUPPORT系统中的值base和synApps/support实际路径,编写了一个bash以上修改脚本。
- 在/usr/local/bin下编写一个bash脚本synApps_support.sh,内容如下:
#!/usr/bin/bash # change the env variable In RELEASE: # EPICS_BASE=/usr/local/EPICS/base 把模块中的EPICS_BASE这里指定的值修改为 # SUPPORT=/usr/local/EPICS/synApps/support 把模块中SUPPORT这里指定值的值改为 if [ $# -ne 1 ];then echo "Usage: $0 dirname/filename" exit 1 fi if [ -f $1 ];then FILENAME=$1 elif [ -d $1 ];then DIRNAME=$1 if [ -e ${DIRNAME}/configure/RELEASE ];then FILENAME=${DIRNAME}/configure/RELEASE elif [ -e ${DIRNAME}/RELEASE ];then FILENAME=${DIRNAME}/RELEASE fi else FILENAME="" exit fi echo "Filename: ${FILENAME}" echo -n "Orignal:" sed -rn '/^[A-Z].*-.*/p' ${FILENAME} echo -n "New:" sed -rn "s@(^[A-Z])*-.*@\1@p" ${FILENAME} sed -ri "s@(^[A-Z])*-.*@\1@" ${FILENAME} echo -n "Origal: " sed -rn '/^EPICS_BASE/p' ${FILENAME} echo -n "New: " sed -rn 's@(EPICS_BASE=).*@\1/usr/local/EPICS/base@p' ${FILENAME} sed -ri 's@(EPICS_BASE=).*@\1/sr/local/EPICS/base@' ${FILENAME}
echo -n "Origal: "
sed -rn '/^SUPPORT/p' ${FILENAME}
echo -n "New: "
sed -rn 's@(SUPPORT=).*@\1/usr/local/EPICS/synApps/support@p' ${FILENAME}
sed -ri 's@(SUPPORT=).*@\1/usr/local/EPICS/synApps/support@' ${FILENAME}
- 赋予以上脚本可执行权限:
[root@centos7 bin]# pwd
/usr/local/bin
[root@centos7 bin]# chmod +x synApps_support.sh
- 使用alive模块对以上脚本进行测试,使用方法::
[root@centos7 support]# ln -s alive-R1-1-1 alive
[root@centos7 support]# synApps_support.sh alive
Filename: alive/configure/RELEASE
Origal: EPICS_BASE=/home/centos7/EPICS/base
New: EPICS_BASE=/usr/local/EPICS/base
Origal: SUPPORT=/home/centos7/EPICS/synApps/support
New: SUPPORT=/usr/local/EPICS/synApps/support
[root@centos7 support]# cd alive
[root@centos7 alive]# make
make -C ./configure install
make[1]: Entering directory `/usr/local/EPICS/synApps_6_1/support/alive-R1-1-1/configure'
...
make[1]: Leaving directory `/usr/local/EPICS/synApps_6_1/support/alive-R1-1-1/tests'
[root@centos7 alive]#
4) 其余模块安装类似,但注意模块之前的依赖关系,被依赖的模块先需要安装。
注意:
1) 安装seq前,需要安装re2c软件