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的博客-优快云博客icon-default.png?t=MBR7https://blog.youkuaiyun.com/weixin_48778546/article/details/108955789

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

这篇回答和我描述的情况很像:(11条消息) sudo go 提示找不到命令:sudo: go: command not found_调皮李小怪的博客-优快云博客_sudo: go:找不到命令icon-default.png?t=MBR7https://blog.youkuaiyun.com/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/:其他原有路径

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

 

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

### 解决 `bc` 命令未找到的问题 当遇到 `bc command not found` 的错误时,通常是因为脚本运行环境中缺少 `bc` 工具。`bc` 是一种支持任意精度计算的语言工具,在许多 Linux 和类 Unix 系统中被广泛用于数值运算[^1]。 #### 问题分析 如果在执行 `PRIDE_PPPAR_BIN/pdp3` 脚本过程中报错 `bc command not found`,可能的原因包括但不限于以下几点: - 当前系统未安装 `bc` 工具。 - 环境变量 `$PATH` 中不包含 `bc` 所在路径。 - 使用的容器化环境(如 Docker Singularity)中缺失该依赖项。 #### 安装 `bc` 对于大多数基于 Debian/Ubuntu 的发行版,可以通过以下命令安装 `bc`: ```bash sudo apt-get update && sudo apt-get install -y bc ``` 如果是 CentOS/RHEL 类型的操作系统,则可以使用 yum 进行安装: ```bash sudo yum install -y bc ``` 完成上述操作后重新启动脚本验证是否解决问题[^2]。 #### 验证 `bc` 是否可用 为了确认 `bc` 是否已正确安装并可访问,可以在终端输入如下测试命令: ```bash echo "scale=2; 5 / 3" | bc ``` 正常情况下应返回结果 `1.66`。如果没有输出预期的结果者再次提示找不到命令,则需进一步排查环境配置问题[^3]。 #### 修改脚本中的调用方式 (备用方案) 假如无法更改服务器上的软件包列表,也可以考虑将实际使用的绝对路径替换到脚本里去代替默认调用名。比如先定位到具体位置再编辑文件修改相应部分: ```bash which bc # 输出类似于 /usr/bin/bc sed -i 's|bc|\/usr\/bin\/bc|g' PRIDE_PPPAR_BIN/pdp3 ``` 以上方法能够帮助解决因缺乏必要组件而导致的功能异常情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值