go环境编译singularity失败报错:checking: host Go compiler (at least version 1.13或17)... not found!

在go文件夹下编译singularity时, ./mconfig命令报错如下:

 倒数第二行显示是找不到go环境导致的。

但是我的go已经添加到.bashrc里了,go version命令能输出对应版本号。

可能性①,是安装的go版本过低不适用于改singularity版本,更改go版本即可解决,go不同版本下载链接如下:

下载 - Go 编程语言

 可能性②,是singularity文件夹没有放在go文件夹下导致的,具体参考:

(11条消息) 安装Singularity遇到的问题_weixin_48778546的博客-CSDN博客icon-default.png?t=MBR7https://blog.csdn.net/weixin_48778546/article/details/108955789

可能性③,也就是我的情况。go version命令能输出对应版本号,排除了以上2种可能后,只能去找找是不是某些特殊软件不能识别go环境导致的

这篇回答和我描述的情况很像:(11条消息) sudo go 提示找不到命令:sudo: go: command not found_调皮李小怪的博客-CSDN博客_sudo: go:找不到命令icon-default.png?t=MBR7https://blog.csdn.net/qq_38388811/article/details/111478873

解决方法:

新建文件~/.bash_profile:

vim ~/.bash_profile

在文件中配置:

# ~/.bash_profile
export GOROOT=/usr/local/go #go的安装文件夹,一般在local下
export GOPATH=/usr/local/GO #go的工作目录,自定义
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source ~/.bash_profile

执行 go verison 获得正确输出,但是Some programs not found when used with sudo。通过修改配置 /etc/sudoers 文件中的 Defaults secure_path 这一项,添加go中bin文件夹的绝对目录,(如:/usr/local/go/bin/),即可让singularity编译时识别go环境

sudo vim /etc/sudoers

文件中找到secure_path,添加:

Defaults    secure_path = /usr/local/go/bin/:其他原有路径

 然后编译就可以正常进行了

 

问题解决,但是不一定能解决所有出现相同报错的情况,仅供参考。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值