【EPICS学习记录】Ubuntu下的EPICS安装以及Asyn、Streamdevice工具包配置问题解决

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

按照官方安装教程在Ubuntu中安装搭建EPICS和Asyn、Streamdevice工具包,在安装过程中出现一些问题,自己摸索了一下进行了调整和记录。
点击官方安装教程链接:https://docs.epics-controls.org/en/latest/getting-started/installation-linux.html
本教程可以结合官方教程一起看

(PS:本人纯新手小白,近期正在从0开始学习Linux系统和EPICS,在此记录学习过程,如有问题敬请指正。)


一、系统的准备

本文使用的是Ubuntu 18.04版本,理论上其他版本的安装也几乎没有区别。
安装前需确保系统中已经安装make、c++、libreadline等编译工具,还有文章提到perl也需要安装,可在CSDN中找到各种安装教程。

二、安装EPICS

打开终端窗口,依次输入命令行指令:

mkdir $HOME/EPICS 
cd $HOME/EPICS
git clone --recursive https://github.com/epics-base/epics-base.git
cd epics-base
make

执行make命令完成编译后,需要配置环境变量,可以使用命令行进行编辑,也可以直接用文本编辑器打开根目录下的.bashrc文件(需显示隐藏文件才能找到),将如下环境变量添加到文本末尾:

export EPICS_BASE=${HOME}/EPICS/epics-base
export EPICS_HOST_ARCH=$(${EPICS_BASE}/startup/EpicsHostArch)
export PATH=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}:${PATH}

完成之后可以进行测试,重新打开一个终端窗口输入命令行:

softIoc

窗口显示如下即说明安装并配置成功:

epics>

官方还给了例子可以跟着做一下试试。

三、添加Asyn包

打开终端窗口依次输入如下指令:

cd $HOME/EPICS
mkdir support
cd support
git clone https://github.com/epics-modules/asyn.git
cd asyn

同样需要配置环境变量,在~/EPICS/support/asyn/configure/路径下找到RELEASE文件

对文件中的EPICS_BASE变量进行修改,我按照官方的教程进行配置,配置完成后执行make编译时出现了如下报错:

EPICS/Release.pm: Undefined variable $(HOME) used 
make -C ./configure install
make[1]: 进入目录“/home/yifeng/EPICS/support/asyn/configure”
EPICS/Release.pm: Undefined variable $(HOME) used 
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: 进入目录“/home/yifeng/EPICS/support/asyn/configure/O.linux-x86_64”
EPICS/Release.pm: Undefined variable $(HOME) used 
perl -CSD /home/yifeng/EPICS/epics-base/bin/linux-x86_64/convertRelease.pl checkRelease
EPICS/Release.pm: Undefined variable $(HOME) used 

EPICS_BASE must be set in a configure/RELEASE file.

/home/yifeng/EPICS/epics-base/configure/RULES_BUILD:208: recipe for target 'checkRelease' failed
make[2]: *** [checkRelease] Error 2
make[2]: 离开目录“/home/yifeng/EPICS/support/asyn/configure/O.linux-x86_64”
/home/yifeng/EPICS/epics-base/configure/RULES_ARCHS:58: recipe for target 'install.linux-x86_64' failed
make[1]: *** [install.linux-x86_64] Error 2
make[1]: 离开目录“/home/yifeng/EPICS/support/asyn/configure”
/home/yifeng/EPICS/epics-base/configure/RULES_DIRS:85: recipe for target 'configure.install' failed
make: *** [configure.install] Error 2

主要问题在于官方教程中给出的EPICS_BASE路径(EPICS_BASE=${HOME}/EPICS/epics-base)系统可能没有正确识别,可以对其进行修改,如我的路径修改成了:

EPICS_BASE=/home/yifeng/EPICS/epics-base

同时对官方给出来的文档和实际的RELEASE文件中内容的对比发现,SUPPORT变量的路径以及几个include内容也需要修改一下。
排除用不到需要注释掉的代码行之后,最后剩下的有效代码如下:

SUPPORT=/home/yifeng/EPICS/support
-include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH)
EPICS_BASE=/home/yifeng/EPICS/epics-base
-include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH)
-include $(TOP)/../RELEASE.local
-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
-include $(TOP)/configure/RELEASE.local

(上述路径中的出现的用户名称“/yifeng”需要根据自己电脑的实际用户名进行修改)

然后在~/EPICS/support/asyn/目录下使用make进行编译,完成安装。

四、添加StreamDevice包

安装过程与上述Asyn的安装过程基本一致:
打开终端窗口依次输入如下指令:

cd $HOME/EPICS/support
git clone https://github.com/paulscherrerinstitute/StreamDevice.git
cd StreamDevice/
rm GNUmakefile

配置环境变量,在~/EPICS/support/streamDevice/configure/路径下找到RELEASE文件
对文件中的下述变量进行修改,其他的用#注释掉

EPICS_BASE=${HOME}/EPICS/epics-base
SUPPORT=${HOME}/EPICS/support
ASYN=$(SUPPORT)/asyn

根Asyn的安装有同样的问题,上述路径中的“${HOME}”需要改成自己对应的文件路径,保存RELEASE文件,然后在终端中执行make命令,完成安装。

总结

基本按照官方给出的安装教程进行安装就可以了,如果出现与我一样的问题可以尝试修改环境变量的文件路径。

  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值