EPICS教程5 -- areaDetector模块安装

本次安装系统为Rocky Linux release 8.5

1 打开一个命令行终端,切换到root权限,执行以下安装命令,安装依赖包:

[root@rockygu ~]# dnf install epel-release
[root@rockygu ~]# dnf config-manager --set-enabled powertools
[root@rockygu ~]# dnf install gcc gcc-c++ gcc-toolset-9-make readline-devel perl-ExtUtils-Install make
[root@rockygu ~]# dnf install re2c
[root@rockygu ~]# dnf install rpcgen libtirpc-devel
[root@rockygu ~]# dnf install libnet-devel libpcap-devel libusb-devel
[root@rockygu ~]# dnf install xorg-x11-proto-devel libX11-devel libXext-devel
[root@rockygu ~]# dnf install zeromq-devel
[root@rockygu ~]# dnf install boost-devel
[root@rockygu ~]# dnf install opencv-devel

2 下载以下资源到计算机本地的一个目录中EPICSareaDetector模块-C++文档类资源-CSDN下载包含:1:EPICSbaseR7-0.4.1;2:areaDetector依赖的synApps模更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/yuyuyuliang00/85645174

3  本次安装,打算把这些包安装到/usr/local/EPICS目录并且解压下,操作如下:

[root@VM-0-14-rockylinux ~]# cd /usr/local/
[root@VM-0-14-rockylinux local]# tar -xvzf /home/blctrl/areadetector.tar.gz
EPICS/
EPICS/synApps/
EPICS/synApps/support/
...
EPICS/synApps/support/motor
EPICS/base-7.0.4.1.tar.gz
[root@VM-0-14-rockylinux local]# cd EPICS/
[root@VM-0-14-rockylinux EPICS]# ls
base-7.0.4.1.tar.gz  synApps
[root@VM-0-14-rockylinux EPICS]#

 4 在当前目录中解压base-7.0.4.1.tar.gz,并且对解压生成文件建立一个软连接:

[root@VM-0-14-rockylinux EPICS]# tar -xvzf base-7.0.4.1.tar.gz
base-R7.0.4.1/modules/database/test/std/link/epicsRunLinkTests.c
...
base-R7.0.4.1/documentation/ReleaseChecklist.html
base-R7.0.4.1/README
[root@VM-0-14-rockylinux EPICS]# ln -s base-R7.0.4.1 base
[root@VM-0-14-rockylinux EPICS]# ls
base  base-7.0.4.1.tar.gz  base-R7.0.4.1  synApps
[root@VM-0-14-rockylinux EPICS]#

5 在/etc/profile.d/下新建一个文件epics.sh,并且在文件中添加以下三行:

[root@VM-0-14-rockylinux EPICS]# cat /etc/profile.d/epics.sh
export EPICS_BASE=/usr/local/EPICS/base
export EPICS_HOST_ARCH=$(${EPICS_BASE}/startup/EpicsHostArch)
export LD_LIBIARY_PATH=${LD_LIBRARY_PATH}:${EPICS_BASE}/lib/${EPICS_HOST_ARCH}
export PATH=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}:${PATH}

6 在终端中使得上面的环境变量生效,并且进入base目录,执行make进行编译

[root@VM-0-14-rockylinux EPICS]# source /etc/profile.d/epics.sh
[root@VM-0-14-rockylinux EPICS]# cd base
[root@VM-0-14-rockylinux base]# make
make -C ./configure install
make[1]: Entering directory '/usr/local/EPICS/base-R7.0.4.1/configure'
perl -CSD ../src/tools/makeMakefile.pl O.linux-x86_64 ../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
...
make[4]: Nothing to be done for 'install'.
make[4]: Leaving directory '/usr/local/EPICS/base-R7.0.4.1/modules/pva2pva/iocBoot/iocwfdemo'
make[3]: Leaving directory '/usr/local/EPICS/base-R7.0.4.1/modules/pva2pva/iocBoot'
make[2]: Leaving directory '/usr/local/EPICS/base-R7.0.4.1/modules/pva2pva'
make[1]: Leaving directory '/usr/local/EPICS/base-R7.0.4.1/modules'
[root@VM-0-14-rockylinux base]#

7 测试安装base之后产生的命令行工具caget,caput和cainfo:

[root@VM-0-14-rockylinux base]# caget
No pv name specified. ('caget -h' for help.)
[root@VM-0-14-rockylinux base]# caput
No pv name specified. ('caput -h' for help.)
[root@VM-0-14-rockylinux base]# cainfo
No pv name specified. ('cainfo -h' for help.)
[root@VM-0-14-rockylinux base]#

8 安装areaDetector模块所依赖的包:alive, autosave, seq, iocStat,  ipac, sscan, calc, asyn和busy, 进入/usr/local/EPICS/synApps/support目录,更改confgure目录以及以上给出模块中configure目录下RELEASE文件中SUPPORT和EPICS_BASE的值:

SUPPORT=/usr/local/EPICS/synApps/support
EPICS_BASE=/usr/local/EPICS/base

9 按以上给出模块的顺序,分别进入以上模块中,执行makeclean和make命令:

[root@VM-0-14-rockylinux alive]# make clean
make -C ./configure clean
make[1]: Entering directory '/usr/local/EPICS/synApps/support/alive-R1-1-1/configure'
...
make[1]: Leaving directory '/usr/local/EPICS/synApps/support/alive-R1-1-1/tests'
[root@VM-0-14-rockylinux alive]# make
make -C ./configure install
make[1]: Entering directory '/usr/local/EPICS/synApps/support/alive-R1-1-1/configure'
...
make[1]: Leaving directory '/usr/local/EPICS/synApps/support/alive-R1-1-1/tests'
[root@VM-0-14-rockylinux alive]# cd ..

[root@VM-0-14-rockylinux support]# cd autosave;make clean;make;cd ..
...

[root@VM-0-14-rockylinux support]# cd seq;make clean;make;cd ..
...
[root@VM-0-14-rockylinux support]# cd iocStats;make clean;make;cd ..
...
[root@VM-0-14-rockylinux support]# cd ipac;make clean;make;cd ..
...
[root@VM-0-14-rockylinux support]# cd sscan;make clean;make;cd ..
...
[root@VM-0-14-rockylinux support]# cd calc;make clean;make;cd ..
...
[root@VM-0-14-rockylinux support]# cd asyn;make clean;make;cd ..
...
[root@VM-0-14-rockylinux support]# cd busy;make clean;make;cd ..
...

10 进入support下areaDetector模块,查看目录结构:

[root@VM-0-14-rockylinux support]# cd areaDetector
[root@VM-0-14-rockylinux areaDetector]# pwd
/usr/local/EPICS/synApps/support/areaDetector
[root@VM-0-14-rockylinux areaDetector]# ls
ADADSC          ADDexela            ADmar345             ADPerkinElmer     ADPSL          ADVimba                     makeADPrebuilt
ADAndor         ADEiger             ADmarCCD             ADPhotonII        ADPvCam        aravisGigE                  Makefile
ADAndor3        ADEiger-2           ADMerlin             ADPICam           ADQImaging     configure                   NDDriverStdArrays
ADAravis        ADEiger-master      ADMMPAD              ADPilatus         ADRIXSCam      documentation               NDDriverStdArrays-master
ADBruker        ADEiger-master.zip  ADMythen             ADPilatus-master  ADRoper        DriverReleaseChecklist.txt  pvaDriver
ADCameraLink    ADFastCCD           ADMythen-master      ADPixirad         ADSimDetector  ffmpegServer                pvaDriver-master
ADCompVision    ADFireWireWin       ADMythen-master.zip  ADPluginBar       ADSpinnaker    ffmpegViewer                README.md
ADCore          ADGenICam           ADnED                ADPluginEdge      ADSupport      firewireDCAM                RELEASE.md
ADCore-master   ADLambda            ADPCO                ADPointGrey       ADURL          INSTALL_GUIDE.md            specsAnalyser
ADCSimDetector  ADLightField        ADPcoWin             ADProsilica       ADViewers      LICENSE

11 接着进入configure目录,编辑配置文件:

更改RELEASE_BASE.local,RELEASE_LIBS.local,RELEASE_PRODS.local和RELEASE_SUPPORT.local四个文件中SUPPORT和EPICS_BASE的值:SUPPORT=/usr/local/EPICS/synApps/support和EPICS_BASE=/usr/local/EPICS/base

[root@VM-0-14-rockylinux areaDetector]# cd configure
[root@VM-0-14-rockylinux configure]# ls
CONFIG                                    EXAMPLE_CONFIG_SITE.local.linux-x86                         EXAMPLE_RELEASE_SUPPORT.local.win32-x86
CONFIG_SITE                               EXAMPLE_CONFIG_SITE.local.linux-x86_64                      Makefile
CONFIG_SITE.local                         EXAMPLE_CONFIG_SITE.local.linux-x86_64-gcc42                RELEASE
CONFIG_SITE.local.linux-x86_64            EXAMPLE_CONFIG_SITE.local.linux-x86.vxWorks-ppc32           RELEASE_BASE.local
CONFIG_SITE.local.linux-x86_64.linux-arm  EXAMPLE_CONFIG_SITE.local.linux-x86.win32-x86-mingw         RELEASE_LIBS_INCLUDE
CONFIG_SITE.local.vxWorks                 EXAMPLE_CONFIG_SITE.local.linux-x86.win32-x86-mingw-static  RELEASE_LIBS.local
CONFIG_SITE.local.win32-x86               EXAMPLE_CONFIG_SITE.local.WIN32                             RELEASE.local
CONFIG_SITE.local.win32-x86-static        EXAMPLE_RELEASE_BASE.local.win32-x86                        RELEASE_PRODS_INCLUDE
CONFIG_SITE.local.windows-x64             EXAMPLE_RELEASE_LIBS.local                                  RELEASE_PRODS.local
CONFIG_SITE.local.windows-x64-static      EXAMPLE_RELEASE.local                                       RELEASE_SUPPORT.local
copyFromExample                           EXAMPLE_RELEASE.local.APS_Jenkins                           RULES
copyToExample                             EXAMPLE_RELEASE.local.linux-x86                             RULES_DIRS
diffFromExample                           EXAMPLE_RELEASE.local.linux-x86_64                          RULES.ioc
EXAMPLE_CONFIG_SITE.local                 EXAMPLE_RELEASE.local.win32-x86                             RULES_TOP
EXAMPLE_CONFIG_SITE.local.darwin-x86      EXAMPLE_RELEASE_PRODS.local
EXAMPLE_CONFIG_SITE.local.Linux           EXAMPLE_RELEASE_SUPPORT.local
[root@VM-0-14-rockylinux configure]#

12 回退一级,编译areaDetector下的模块,编译顺序:ADSupport->ADCore->NDDriverStdArrays->pvaDriver

[root@VM-0-14-rockylinux areaDetector]# cd ADSupport; make clean; make; cd ..
...
[root@VM-0-14-rockylinux areaDetector]# cd ADCore; make clean; make; cd ..
...
[root@VM-0-14-rockylinux areaDetector]# cd NDDriverStdArrays; make clean; make; cd ..
...
[root@VM-0-14-rockylinux areaDetector]# cd pvaDriver; make clean; make; cd ..
...

13 编译探测器模块: ADSimDetector,ADPilatus, ADEiger(此三个模块没有先后顺序)

[root@VM-0-14-rockylinux areaDetector]# cd ADSimDetector; make clean; make; cd ..
...
[root@VM-0-14-rockylinux areaDetector]# cd ADPilatus; make clean; make; cd ..
...
[root@VM-0-14-rockylinux areaDetector]# cd ADEiger; make clean; make; cd ..
...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
以下是在Linux上安装EPICS的步骤: 1. 下载EPICS软件包: - 访问EPICS官方网站(https://epics.anl.gov/)并下载最新的EPICS Base软件包。 2. 解压EPICS软件包: - 打开终端,进入下载目录。 - 使用以下命令解压EPICS软件包: ```shell tar -xvf epics-base-x.x.x.tar.gz ``` 其中,x.x.x是EPICS Base软件包的版本号。 3. 设置环境变量: - 打开终端,进入EPICS Base目录。 - 使用以下命令设置EPICS环境变量: ```shell source ./setEpicsEnv.sh ``` 这将设置EPICS的环境变量,使其在终端中可用。 4. 编译EPICS Base: - 在EPICS Base目录中,使用以下命令编译EPICS Base: ```shell make ``` 这将编译EPICS Base并生成所需的库文件和可执行文件。 5. 创建IOC实例: - 在EPICS Base目录中,使用以下命令创建IOC实例: ```shell makeBaseApp.pl -t ioc myioc ``` 其中,myioc是IOC实例的名称,可以根据需要进行更改。 6. 进入IOC实例目录: - 使用以下命令进入IOC实例目录: ```shell cd myioc ``` 7. 编译IOC实例: - 在IOC实例目录中,使用以下命令编译IOC实例: ```shell make ``` 这将编译IOC实例并生成所需的库文件和可执行文件。 8. 运行IOC实例: - 在IOC实例目录中,使用以下命令运行IOC实例: ```shell ./st.cmd ``` 这将启动IOC实例并运行EPICS应用程序。 请注意,上述步骤仅适用于EPICS Base的安装和IOC实例的创建。如果需要安装其他EPICS模块或进行更高级的配置,请参考EPICS官方文档或相关教程

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值