安装EPICS synApps中的软件包

准备:

在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-R5-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/usr/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模块对以上脚本进行测试,使用方法:synApps_support 模块名
[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软件

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值