- EPICS - https://epics.anl.gov/
- PyDevice - https://github.com/klemenv/PyDevice
- hkl - https://repo.or.cz/hkl.git
- cif2hkl https://gitlab.com/soleil-data-treatment/soleil-software-projects/cif2hkl
Download the EPICS base from https://epics.anl.gov/download/base/index.php and place tarball into /epics, then unpack and build.
tar -xvzf base-7.0.8.tar.gz
mv base-7.0.8 base
cd base
makecurl -fsSL https://pixi.sh/install.sh | bash
exec $SHELL
pixi --versionPlace this repo in /epics/iocs/
cd /epics/iocs
git clone https://github.com/hkl-projects/ioc-hkl.git
cd ioc-hkl./run_HKL.sh
hkl - https://repo.or.cz/hkl.git
cd /epics/support
git clone https://repo.or.cz/hkl.git
git checkout tags/v5.0.0.3357 # optional
cd hklsudo apt install gtk-doc-tools autoconf libgtkmm-3.0-dev libyaml-dev gettext autopoint gobject-introspection libtool autoconf-archive debhelper gnuplot-nox gobject-introspection gtk-doc-tools libbullet-dev libg3d-dev libg3d-plugins libgirepository1.0-dev libgl-dev libgsl-dev libgtk-3-dev libgtkglext1-dev libhdf5-dev python3-gi python3-pip elpa-htmlize dvipng libhdf5-dev povray asymptote libhdf5-dev libcglm-dev libinih-dev./autogen
./configure --enable-introspection --disable-binoculars
make
sudo make installIf running hkl outside of this IOC, you will need to set the following environmental variables in your shell/bashrc:
export GI_TYPELIB_PATH=/usr/local/lib/girepository-1.0
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/libsudo apt install cif2hklcd /epics/iocs/ioc-hkl
make -j4
cd /epics/iocs/ioc-hkl/iocBoot/iocpydev
./st.cmdin epics shell: pydev("hklApp.test()")
in epics shell: pydev("hklApp.get_pseudoaxes()")
in bash: caget TAS:hb3:in:pseudoaxesh