centos7 编译epics和areadetector

前言

本文在是照着大神的攻略下完成的,所以不算原创,只是记录一下我编译的过程。

现在各大加速器的光学成像系统都流行用areadetector软件。我们也打算在近物所十二五项目强流粒子加速器项目(HIAF)上使用areadetector软件。

大神卡西莫多在他的大作Centos7下areaDetector IOC的编译中只说了编译areadetector,其实里面也包含了epics的编译。

开始编译

本次编译主要是照着一个师兄写的攻略一步一步编译出来的。

参见 Centos7下areaDetector IOC的编译

  1. 安装依赖包

首先,在root权限在执行下列命令。这些包是安装epics和aeradetector必须要安装的。

yum install -y epel-release

yum install -y git wget gcc gcc-c++ autoconf libtool libX11-devel  libXext-devel libnet-devel libpcap-devel libusbx-devel libusb-devel  intltool  glibmm24-devel procServ re2c

yum install -y ninja-build meson glib2-devel libxml2-devel gtk3-devel gstreamer1 gstreamer1-devel gstreamer1-plugins-base-devel libnotify-devel gtk-doc gobject-introspection-devel

第一行代码中,-y表示用yum命令安装时不再询问是否安装,默认yes。epep-release是一个第三方的源,里面有很多centos官方yum没有的包。例如ninja-build和meson。参见yum包找不到时请注意epel-release。

  1. 创建epics文件夹和areadetector安装目录,创建ioc用户

继续在root权限时执行以下命令:

adduser ioc #增加一个用户名ioc
cd /opt
mkdir /epics #创建epics文件夹
cd /epics
mkdir /egun #我们的测试项目是用于电子枪,所以我创建一个目录egun
cd ..
chown -R ioc:ioc /epics #让用户ioc拥有/epics文件夹的root权限
cd /epics/egun
su ioc #切换到ioc用户
  1. git epics安装包并编译
    感谢大神卡西莫多,带领我进入一条代码编译epics的时代。
git clone -b 3.15 https://git.launchpad.net/epics-base
cd epics-base
make

我按照以上步骤依次在3台centos7上编译通过了。所以应该没有什么问题。
编译好EPICS base包以后,需要添加环境变量。

vim /etc/profile
#添加以下几行
export EPICS_BASE=/opt/epics/egun/epics-base
export EPICS_HOST_ARCH=linux-x86_64
export EPICS_DISPLAY_PATH=/opt/epics/egun/op/adls
export EPICA_CA_MAX_ARRAY_BYTES=1000000
export EPICS_CA_ADDR_LIST=localhost:5064
export PATH=/opt/epics/egun/epics-base/bin/linux-x86_64:${PATH}

其中EPICA_CA_MAX_ARRAY_BYTES用于areaDetector中数组大小,后面要用。
2. areadetector编译
areadetector以前是下载一个包,且需要很多个依赖包,将依赖包依次编译完成后,才能编译areadetector包。

现在areadetector包已经将依赖包打包在一起了。下载后也是先编译依赖包,再编译主包。

大神卡西莫多给我们介绍了一个新的方式,先git到assemble_synApps.sh文件,然后再运行该文件git到areadetector的所有包。

wget https://raw.githubusercontent.com/EPICS-synApps/support/master/assemble_synApps.sh

目前,这个命令git到的synApps包是6-2版本,编译时会出现很多问题。卡西莫多在他的大作给出了抓去6-1版本synApps包的assemble_synApps.sh文件。大家把内容拷贝下来另存为文件即可。

Centos7下areaDetector IOC的编译后记

vim assemble_synApps.sh

将内容拷贝到该文件,修改文件内部的epics_base一行。

epics_base=/opt/epics/egun/epics-base

然后将下面!SYNAPPS_DIR前面的#!去掉,SYNAPPS_DIR=/opt/epics/egun/synApps_6_1在这里插入图片描述

chmod +x assemble_synApps.sh #给sh文件增加可执行权限
bash ./assemble_synApps.sh           #一次可能不能把所有的包抓下来,多运行几次

可能会出现permission denied的情况,那可能是你的域名无法访问github,自己想办法吧。
在这里插入图片描述
下载好了之后,进入到support目录,如果都下载成功了,make不会报错。

make release
make
  1. 编译aravisGigE
    aravisGigE是araDetector的一个模块,专门用来处理符合GigE ision协议的相机。
    下载aravisGigE
cd support
cd areaDetector-master
wget https://github.com/areaDetector/aravisGigE/archive/R3-0.tar.gz
rm -rf aravisGigE #删除areaDetector目录下原有的aravisGigE文件夹
tar -xvf R3-0.tar.gz

解压后,进入到aravisGigE目录

./install.sh
make
make install #这个必须有,否则无法产生可ioc。

至此,所有流程执行结束,可以开始享用aravisGiGE模块了。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值