Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

README.md

Blame
    • Marty Kandes's avatar
      7d8a4554
      FIX: Prepend Singularity install dir to PATH prior to final check · 7d8a4554
      Marty Kandes authored
      This bug fix prepends the path of the Singularity installation directory
      to the PATH environment variable immediately following installation
      using the naked-singularity.sh install command and the final check to
      determine if Singularity was installed successfully. The problem here is
      that not all secure_path in /etc/sudoers may include the Singualrity
      install directory by default, which can lead this final install test to
      fail erroneously.
      
      This issue was observed when recently testing the naked-singularity.sh
      install command on CentOS 7 and CentOS 8. Both install processes threw a
      'Singularity installation failed!' error even though the installations
      were successful [1] [2]. No such issue was observed on Ubuntu-based
      installations [3]. As stated above, the difference in behavior between
      these OSes was tracked down to what default paths were included in the
      secure_path variable in the /etc/sudoers file [4] [5] [6].
      
      [1]
      
      ...
       INSTALL CNI PLUGIN /usr/local/libexec/singularity/cni/tuning
       INSTALL CNI CONFIGURATION FILES
       DONE
      make: Leaving directory `/tmp/singularity/builddir'
      Checking if Singularity was installed successully ...
      ./naked-singularity.sh: line 200: singularity: command not found
      ERROR :: Singularity installation failed!
      ERROR :: Failed to run install command.
      [centos@singularity-centos7-builder naked-singularity]$ singularity --version
      singularity version 3.5.3
      [centos@singularity-centos7-builder naked-singularity]$ which singularity
      /usr/local/bin/singularity
      [centos@singularity-centos7-builder naked-singularity]$
      
      [2]
      
      ...
      INSTALL CNI PLUGIN /usr/local/libexec/singularity/cni/tuning
       INSTALL CNI CONFIGURATION FILES
       DONE
      make: Leaving directory '/tmp/singularity/builddir'
      Checking if Singularity was installed successully ...
      ./naked-singularity.sh: line 200: singularity: command not found
      ERROR :: Singularity installation failed!
      ERROR :: Failed to run install command.
      [centos@singularity-centos8-builder naked-singularity]$ singularity --version
      singularity version 3.5.3
      [centos@singularity-centos8-builder naked-singularity]$ which singularity
      /usr/local/bin/singularity
      [centos@singularity-centos8-builder naked-singularity]$
      
      [3]
      
      ...
       INSTALL CNI PLUGIN /usr/local/libexec/singularity/cni/tuning
       INSTALL CNI CONFIGURATION FILES
       DONE
      make: Leaving directory '/tmp/singularity/builddir'
      Checking if Singularity was installed successully ...
      singularity version 3.5.3
      Singularity was installed successfully!
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$ singularity --versionsingularity version 3.5.3
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$ which singularity
      /usr/local/bin/singularity
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$
      
      [4]
      
      [centos@singularity-centos7-builder naked-singularity]$ sudo cat /etc/sudoers | grep secure_path
      Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
      [centos@singularity-centos7-builder naked-singularity]$
      
      [5]
      
      [centos@singularity-centos8-builder naked-singularity]$ sudo cat /etc/sudoers | grep secure_path
      Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
      [centos@singularity-centos8-builder naked-singularity]$
      
      [6]
      
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$ sudo cat /etc/sudoers | grep secure_path
      Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$
      7d8a4554
      History
      FIX: Prepend Singularity install dir to PATH prior to final check
      Marty Kandes authored
      This bug fix prepends the path of the Singularity installation directory
      to the PATH environment variable immediately following installation
      using the naked-singularity.sh install command and the final check to
      determine if Singularity was installed successfully. The problem here is
      that not all secure_path in /etc/sudoers may include the Singualrity
      install directory by default, which can lead this final install test to
      fail erroneously.
      
      This issue was observed when recently testing the naked-singularity.sh
      install command on CentOS 7 and CentOS 8. Both install processes threw a
      'Singularity installation failed!' error even though the installations
      were successful [1] [2]. No such issue was observed on Ubuntu-based
      installations [3]. As stated above, the difference in behavior between
      these OSes was tracked down to what default paths were included in the
      secure_path variable in the /etc/sudoers file [4] [5] [6].
      
      [1]
      
      ...
       INSTALL CNI PLUGIN /usr/local/libexec/singularity/cni/tuning
       INSTALL CNI CONFIGURATION FILES
       DONE
      make: Leaving directory `/tmp/singularity/builddir'
      Checking if Singularity was installed successully ...
      ./naked-singularity.sh: line 200: singularity: command not found
      ERROR :: Singularity installation failed!
      ERROR :: Failed to run install command.
      [centos@singularity-centos7-builder naked-singularity]$ singularity --version
      singularity version 3.5.3
      [centos@singularity-centos7-builder naked-singularity]$ which singularity
      /usr/local/bin/singularity
      [centos@singularity-centos7-builder naked-singularity]$
      
      [2]
      
      ...
      INSTALL CNI PLUGIN /usr/local/libexec/singularity/cni/tuning
       INSTALL CNI CONFIGURATION FILES
       DONE
      make: Leaving directory '/tmp/singularity/builddir'
      Checking if Singularity was installed successully ...
      ./naked-singularity.sh: line 200: singularity: command not found
      ERROR :: Singularity installation failed!
      ERROR :: Failed to run install command.
      [centos@singularity-centos8-builder naked-singularity]$ singularity --version
      singularity version 3.5.3
      [centos@singularity-centos8-builder naked-singularity]$ which singularity
      /usr/local/bin/singularity
      [centos@singularity-centos8-builder naked-singularity]$
      
      [3]
      
      ...
       INSTALL CNI PLUGIN /usr/local/libexec/singularity/cni/tuning
       INSTALL CNI CONFIGURATION FILES
       DONE
      make: Leaving directory '/tmp/singularity/builddir'
      Checking if Singularity was installed successully ...
      singularity version 3.5.3
      Singularity was installed successfully!
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$ singularity --versionsingularity version 3.5.3
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$ which singularity
      /usr/local/bin/singularity
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$
      
      [4]
      
      [centos@singularity-centos7-builder naked-singularity]$ sudo cat /etc/sudoers | grep secure_path
      Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
      [centos@singularity-centos7-builder naked-singularity]$
      
      [5]
      
      [centos@singularity-centos8-builder naked-singularity]$ sudo cat /etc/sudoers | grep secure_path
      Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
      [centos@singularity-centos8-builder naked-singularity]$
      
      [6]
      
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$ sudo cat /etc/sudoers | grep secure_path
      Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
      ubuntu@singularity-ubuntu1804-builder:~/naked-singularity$