openEuler下EPICS areaDetector的ADAravis包的编译
Posted USTC-lup
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openEuler下EPICS areaDetector的ADAravis包的编译相关的知识,希望对你有一定的参考价值。
折腾了几天,并且在永良和大神Mark Rivers的帮助下,终于编译成功了,下面总结下流程:
准备:openEuler20.03-SP2-LTS的mininstall(可以用中文选项)
root权限下:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh --nodeps epel-release-latest-7.noarch.rpm
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 readline-devel perl-ExtUtils-Install make
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 zlib-devel
#上面几条命令注意提示,是否安装齐全,可能按提示要加--nobest选项
##需要的包参考: Packages required for EPICS on Centos 8 — EPICS How-Tos documentation
adduser ioc
mkdir /half #以合肥先进光源为例
chown -R ioc:ioc /half
cd /half
su ioc
mkdir epics
cd epics
########下载和编译epics base7########
##git抓包不顺的话需要翻墙VPN
git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base
cd base
make
来自 <EPICS 7 - EPICS Controls/>
######下载和修改synApps的脚本(当前最新版是6.2 --2021.12.20)#####
# 1. download the installer script
wget https://raw.githubusercontent.com/EPICS-synApps/support/master/assemble_synApps.sh# 2. edit assemble_synApps.sh for your version of EPICS base and local directory paths
# 3. (optional) Specify the (new) directory name where synApps will be installed.
# This is the default:
# export SYNAPPS_DIR=synApps
# This directory will be created when assemble_synApps.sh is run.# 4. download & install the synApps source files:
# 来自:GitHub - EPICS-synApps/support: APS BCDA synApps module: support
修改这个文件,我是按下面截图注释掉不需要的模块,可以注释掉更多就能少下载些:
bash ./assemble_synApps.sh #一次可能不能把所有的包抓下来,多运行几次
之后进入support目录:
make release
vi areaDetector-R3-11/configure/CONFIG_SITE.local
和以前的流程相比多了这部分,上面的截图是Mark帮助修改的选项,下面是永良踩坑帮总结的几条命令:
sudo yum install -y rpcgen libtirpc libtirpc-devel
sudo In-s /usr/include/tirpc/netconfig.h /usr/include/
sudo cp /usr/include/tirpc/rpc/* /usr/include/rpc/
make LDFLAGS=-ltirpc
之后安装aravis驱动,root权限下:
取ADGenICam — areaDetector 3-11-2-gf866e7e documentation 里的这部分即可:
cd /usr/local
git clone https://github.com/AravisProject/aravis
cd aravis/
meson build
cd build
ninja-build
ninja-build install
编译ADGenICam和ADAravis,普通用户权限运行:
cd /half/epics/synApps/support/areaDetector-R3-11/
git clone https://github.com/areaDetector/ADGenICam.git
cd ADGenICam/make
cd ..
git clone https://github.com/areaDetector/ADAravis.git
cd ADAravis/
make
至此编译环节就都结束了,后面参照:海康摄像头 EPICS的ADAravis的IOC搭建 搭建IOC即可。
GraphicsMagick不知道有什么用,永良带着这个模块编译通过了,我编译synApps过程中怎么也搞不过去,就用了NO,还是喜欢base配合synApps编译的流程,省得单独每个模块下载,还要改很多的配置文件,这个流程里现在只需要改两个文件即可,欢迎路过的愿意用openEuler的按流程跑一遍,有问题随时呼我或永良。
以上是关于openEuler下EPICS areaDetector的ADAravis包的编译的主要内容,如果未能解决你的问题,请参考以下文章
在 redux-observable 中,我如何控制 reducer 或 epics 是不是首先对动作做出反应?
Windows远程文件拷贝openEuler--WinSCP
Windows远程文件拷贝openEuler--WinSCP