Debian11下编译ADAravis和Motor模块的一条龙过程

这篇具有很好参考价值的文章主要介绍了Debian11下编译ADAravis和Motor模块的一条龙过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Debian11编译EPICS ADAravis记录

一年前整理的上面文,这几天重新走了一遍,有些地方会碰到问题,需要补充些环节,motor模块以前和areaDetector一条龙编译时,总是有问题,当时就没尝试了,这几天尝试了一下,流程再总结如下:

准备:

Debian11的基础安装(我用的是网络安装的虚拟机,选安装包时选ssh服务和网络工具两个选项),git抓包需要自己找渠道设置环境变量翻墙。

root权限下:

#改更新源,网络安装时选科大镜像的话,第一个sed可以省掉
sed -i 's/ftp.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sed -i 's/security.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
apt-get install git make gcc g++ #编译base需要 


 编译base:

adduser beam
mkdir /half          #以合肥先进光源为例
chown -R beam:beam /half
cd /half
su beam
mkdir epics
cd epics
############下载和编译epics base7#################################
git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0
ln -s base-7.0 base
cd base
make

EPICS 7 - EPICS Controls


 areaDetector需要的包:

EPICS Products Required for Building areaDetector
areaDetector requires EPICS base. R3.14.12.4 or higher, any 3.15 release should work.

areaDetector also requires asyn. The most recent release of asyn is recommended.

Each areaDetector detector module builds both a library and an EPICS IOC application. To build the library only EPICS base and asynDriver are required. To build the IOC application the synApps modules AUTOSAVE, BUSY, CALC, and SSCAN are required. If the CALC module is built with SNCSEQ support then SNCSEQ is also required. The most recent release of the synApps modules is recommended.

The DEVIOCSTATS and ALIVE modules are optional.

EPICS base, asyn and the synApps modules must be built before building areaDetector.

 su下运行:

apt-get install libx11-dev libxext-dev wget re2c #编译areaDetector需要


######下载和修改synApps的脚本(当前最新版是6.2.1 --2024.1.21)#####

# 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

修改这个文件,根据上面的说明只保留了下面的模块,就能少下载些:

Debian11下编译ADAravis和Motor模块的一条龙过程,EPICS,EPICS,motor,areaDetector,合肥先进光源

bash ./assemble_synApps.sh           #一次可能不能把所有的包抓下来,多运行几次

之后进入support目录:

随上面脚本下载的motor7.2.2包直接编译通不过,我直接下载最新版本:

git clone https://github.com/epics-modules/motor.git
cp motor-R7-2-2/configure/RELEASE motor/configure/.

之后再把下面文件motor那一行改一下:

Debian11下编译ADAravis和Motor模块的一条龙过程,EPICS,EPICS,motor,areaDetector,合肥先进光源

之后直接编译就好了:

make release
make
 apt-get install meson pkg-config  glib-2.0 libxml2-dev #编译下面驱动需要:

之后安装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   #Debian已经有,不用专门装
ninja install

上面这步在写页首文档时没问题,现在这步可能会碰到meson版本低的问题,按这里的指南装好新版本的meson再重做上一步就好了:https://wenku.csdn.net/answer/de4dfc7a917045afbf6e36bf8be1275f

编译后面的ADAravis需要在su下先运行下面两条命令:

cp /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h /usr/include/.
apt-get install libusb-1.0.0-dev


编译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

上面编译ADAravis时,会碰到这类找不到的问题:

Debian11下编译ADAravis和Motor模块的一条龙过程,EPICS,EPICS,motor,areaDetector,合肥先进光源

是因为现在安装avaris驱动的时候,已经到了0.10版本,而git clone下来的ADAravis的src里还是0.8版本的,运行下面的命令再重新做一遍就好了:

sed -i "s/-0.8/-0.10/g" aravisApp/src/Makefile
sed -i "s/-0.8/-0.10/g" iocs/aravisIOC/aravisApp/src/Makefile

上面两条替换命令能解决部分问题,但是编译过程中出现的这类问题还不能解决:

Debian11下编译ADAravis和Motor模块的一条龙过程,EPICS,EPICS,motor,areaDetector,合肥先进光源

不知道这类的编译命令里的这类参数在哪里设置,路过的知道的希望能指点,我就只好这样解决:

cp -rf /usr/local/include/aravis-0.10 /usr/local/include/aravis-0.8

至此ADAravis和motor模块一条龙编译环节就都做好了,后面就是针对具体的摄像头和motor控制器的情况,搭建IOC了。

这个流程手动改文件设置和版本不匹配等问题多了一些环节,相信在那些技术大神的完善下,这些手动冗余的步骤都会慢慢省掉吧。。。

路过的从事相关任务的可以自己走一遍这个过程,Debian12下尝试了一下,很不顺利,希望有人能针对这个以及新版本的openEuler系统也尝试一下。文章来源地址https://www.toymoban.com/news/detail-815363.html

到了这里,关于Debian11下编译ADAravis和Motor模块的一条龙过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 番外篇 萌新版开发交付一条龙(☆▽☆)

    学习了一段时间的django和vue,对于前后端开发有了一个初步的了解,这里记录一下编写的流程和思路,主要是为了后面如果遗忘从哪里开始操作做一个起步引导作用 参考下前面django的文档https://moziang.blog.csdn.net/article/details/130720709 1、安装django环境 目录结构 2、项目添加应用模

    2024年02月21日
    浏览(30)
  • JDK17、IDEA 2022【安装一条龙】

    本次安装 安装环境为:Windows11系统 jdk版本为:jdk-17.0.5 IDEA 版本为:ideaIU-2022.1.2 下载地址: 👉下载点我 双击下载的好的 .exe 文件 新建系统变量 配置Path 😇可直接复制 3. 🧪测试环境变量是否配置成功 🎊恭喜你,JDK 17安装成功了 下载地址: 👉下载点我 官网下载,选择适合

    2024年02月03日
    浏览(37)
  • python打包和反编译一条龙

    安装Pyinstaller 在文件所在的位置启动cmd,命令如下 其中 -F 参数代表制作独立的可执行程序。 w 是指程序启动的时候不会打开命令行。如果不加-w的参数,就会有黑洞洞的控制台窗口出来。比如在刚才的脚本里我加一行 print(\\\'Hello World!\\\') ,那么就不要放-w参数了,不然运行会报

    2024年02月19日
    浏览(33)
  • 单相PWM整流从硬件到软件一条龙

    首先很想吐槽国内开源环境,实在是无语,大家都不愿意分享资源,都需要花钱,主要是花钱也不一定能找到你想要的东西。今年的电赛电源题,到现在了,我都还没看到CSDN上有能让我看懂的东西。所以我和同伴一起从零开始学习PWM整流,直到实现,我打算免费共享出来,能

    2024年02月16日
    浏览(30)
  • 传奇开服一条龙GEE引擎登录器配置教程

    1、首先我们打开我们版本文件夹找到登录器文件夹进入找到GEE登录器配置器(MakeGameLogin.exe)打开 2、接下来开始填写我们的主列表和备列表,这时候我们要自己创建一个列表,因为登录器自带的列表肯定是读取不了的,我们在网站文件夹新建一个txt文本名称可以随意填写如

    2024年02月08日
    浏览(35)
  • Nginx 可视化神器!复杂配置一键生成,监控管理一条龙!

    nginxWebUI是一款图形化管理nginx配置的工具,可以使用网页来快速配置nginx的各项功能,包括http协议转发、tcp协议转发、反向代理、负载均衡、静态html服务器、ssl证书自动申请、续签、配置等。配置好后可一建生成nginx.conf文件,同时可控制nginx使用此文件进行启动与重载,完成

    2024年02月07日
    浏览(33)
  • centos7下载安装jenkins并配置拉取maven项目一条龙

    首先需要安装JAVA环境:https://www.cnblogs.com/mufeng07/p/12150820.html 如果你的系统没有自带git,那么也需要安装一个 yum install git maven也需要安装,安装命令如下 maven安装完成后,需要配置maven 第一种方法 第二种方法 直接下载 rpm 安装,各个版本地址 https://pkg.jenkins.io/ 其中安装jenk

    2024年02月07日
    浏览(39)
  • OpenCV.js 入门教程指北:下载/安装/编译/代码实现/运行 一条龙

    学习计算机视觉接触到的第一个库,非常有意思的是,竟然有JS的版本 这是官方文档:https://docs.opencv.org/3.3.1/d5/d10/tutorial_js_root.html 为了节省大家的时间,我这里对官方的介绍简单摘要一些: OpenCV supports a wide variety of programming languages such as C++, Python, and Java, and is available on d

    2024年04月28日
    浏览(27)
  • Prometheus Operator 极简配置方式在k8s一条龙安装Prometheus 监控

    在k8s上 Prometheus(普罗米修斯) 监控,需要部署各种组件,比如Prometheus、Alertmanager、Grafana。同时各个组件的配置文件也是需要到处各个配置,Prometheus配置监控服务时,你还要知道各个监控服务的地址,地址换了还需要更新, 实在是麻烦。而今天的主角 Prometheus Operator 使用自

    2024年02月02日
    浏览(36)
  • C++ 之 【类与对象】从入门到精通一条龙服务 最终篇(static成员、友元、匿名对象。。。)

    💴到用时方恨早,白首方悔挣的少 车到山前没有路,悬崖勒马勒不住 –❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀-正文开始-❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀– 在创建对象时,编译器通过调用构造函数,给对象中各个

    2024年04月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包