Something went wrong on our end
Select Git revision
-
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$
Marty Kandes authoredThis 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$