From c072d9d731db70091af1c2d8ca2dc88e6a1d68b8 Mon Sep 17 00:00:00 2001 From: Guilherme Rodrigues de Lima Date: Fri, 27 Oct 2023 12:59:55 -0300 Subject: [PATCH] base: add support for Pmac module. Compilation error in Pmac module with JOBS>1, probably due to badly defined dependencies in the module's Makefile. We set JOBS=1 to be able to build the module. --- CHANGES.md | 5 +++++ README.md | 5 +++++ base/.env | 3 +++ base/Dockerfile | 2 ++ base/docker-compose.yml | 1 + base/install_motor.sh | 29 +++++++++++++++++++++++++++++ 6 files changed, 45 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index f78d7d3..d6ec941 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,11 @@ ## Unreleased +### New features + +* base: add support for Pmac module. by @guirodrigueslima in + https://github.com/cnpem/epics-in-docker/pull/26 + ## v0.4.0 All users should update to ease deployment on container setups with limited diff --git a/README.md b/README.md index ea15378..04f67f5 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,11 @@ registry. must include `libxml2` and `libtiff5` in the `RUNTIME_PACKAGES`, as they are not built in `ADSupport`. +### Pmac IOCs + +`Pmac` IOCs must include `libssh2-1` in the `RUNTIME PACKAGES`, because the +module depends on it. + ### Possible issues Known build and runtime issues are documented in the [SwC diff --git a/base/.env b/base/.env index 18e720e..8577c8c 100644 --- a/base/.env +++ b/base/.env @@ -1,6 +1,7 @@ DEBIAN_VERSION=11.7 EPICS7_BASE_VERSION=7.0.7 + SEQUENCER_VERSION=2.2.9 CALC_VERSION=R3-7-4 ASYN_VERSION=R4-44-2 @@ -13,4 +14,6 @@ IPAC_VERSION=2.16 CAPUTLOG_VERSION=R4.0 AREA_DETECTOR_VERSION=R3-12-1 + MOTOR_VERSION=R7-3-1 +PMAC_VERSION=2-6-1 diff --git a/base/Dockerfile b/base/Dockerfile index 96bef13..295e0ba 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -12,6 +12,7 @@ RUN apt update -y && \ git \ libaravis-dev \ libreadline-dev \ + libssh2-1-dev \ libtiff-dev \ libusb-1.0-0-dev \ libxml2-dev \ @@ -46,6 +47,7 @@ ARG CAPUTLOG_VERSION ARG AREA_DETECTOR_VERSION ARG MOTOR_VERSION +ARG PMAC_VERSION WORKDIR ${EPICS_MODULES_PATH} COPY install_modules.sh . diff --git a/base/docker-compose.yml b/base/docker-compose.yml index b3af854..dffa96c 100644 --- a/base/docker-compose.yml +++ b/base/docker-compose.yml @@ -24,3 +24,4 @@ services: CAPUTLOG_VERSION: ${CAPUTLOG_VERSION} AREA_DETECTOR_VERSION: ${AREA_DETECTOR_VERSION} MOTOR_VERSION: ${MOTOR_VERSION} + PMAC_VERSION: ${PMAC_VERSION} diff --git a/base/install_motor.sh b/base/install_motor.sh index de19b4b..d257e6e 100755 --- a/base/install_motor.sh +++ b/base/install_motor.sh @@ -2,6 +2,8 @@ set -ex +. /opt/epics/install-functions.sh + git clone --depth 1 --branch ${MOTOR_VERSION} \ https://github.com/epics-modules/motor @@ -34,3 +36,30 @@ cd .. make -j${JOBS} make clean + +cd $EPICS_MODULES_PATH + +download_github_module dls-controls pmac $PMAC_VERSION + +rm pmac/configure/RELEASE.local.linux-x86_64 +rm pmac/configure/RELEASE.linux-x86_64.Common +rm pmac/configure/CONFIG_SITE.linux-x86_64.Common + +echo " +BUILD_IOCS=NO +USE_GRAPHICSMAGICK=NO + +SSH = YES +SSH_LIB = $(pkg-config --variable=libdir libssh2) +SSH_INCLUDE = $(pkg-config --cflags-only-I libssh2) + +WITH_BOOST = NO +" >> pmac/configure/CONFIG_SITE + +JOBS=1 install_module pmac PMAC " +EPICS_BASE=${EPICS_BASE_PATH} +ASYN=${EPICS_MODULES_PATH}/asyn +CALC=${EPICS_MODULES_PATH}/calc +MOTOR=${EPICS_MODULES_PATH}/motor +BUSY=${EPICS_MODULES_PATH}/busy +"