Installing via YUM

If you need to install the software in a different platform than 64-bit SL6, CentOS7 or CentOS8 - or if you want to help on the development - then you should check the compile from source instructions.

  1. If you already have a previous version of the IPbus suite (i.e. v2.0.0 to v2.7.9) installed on your computer, first uninstall this old version:

    sudo yum groupremove uhal
    
  2. Download the appropriate YUM repo file, and copy to /etc/yum.repos.d/, renaming to ipbus-sw.repo:

    • For 64-bit CentOS7: Two builds are available …

      • Compiler: GCC4. Dependencies: boost 1.53 and pugiXML 1.8 (from EPEL repos):

        sudo curl https://ipbus.web.cern.ch/doc/user/html/_downloads/ipbus-sw.centos7.x86_64.repo -o /etc/yum.repos.d/ipbus-sw.repo
        
      • Compiler: GCC8. Dependencies: boost 1.66 and pugiXML 1.9 (provided in the IPbus repo)):

        sudo curl https://ipbus.web.cern.ch/doc/user/html/_downloads/ipbus-sw.centos7_gcc8.x86_64.repo -o /etc/yum.repos.d/ipbus-sw.repo
        
    • For 64-bit CentOS8:

      sudo curl https://ipbus.web.cern.ch/doc/user/html/_downloads/ipbus-sw.centos8.x86_64.repo -o /etc/yum.repos.d/ipbus-sw.repo
      sudo yum-config-manager --enable powertools
      
  3. Install the software:

    • To just install uHAL:

      sudo yum clean all
      sudo yum groupinstall uhal
      
    • To just install the ControlHub:

      sudo yum clean all
      sudo yum groupinstall controlhub
      
    • To install both uHAL and the ControlHub:

      sudo yum clean all
      sudo yum groupinstall uhal controlhub
      

    Note: On CentOS7, the debug info for libraries and executables (used e.g. to show stack traces in gdb) is packaged in a different set of RPMs, that belong to the uhal-debug YUM group. These RPMs can be installed on CentOS7 as follows:

    sudo yum groupinstall uhal-debug
    

N.B. The IPbus software RPMs install almost all of their files under /opt/cactus. So when running applications that use uHAL, you need to update your environment variables accordingly:

export LD_LIBRARY_PATH=/opt/cactus/lib:$LD_LIBRARY_PATH