Go语言 Singularity 3.6.2安装

w8ntj3qf  于 2023-10-14  发布在  Go
关注(0)|答案(4)|浏览(167)

我在Linux mint中安装singularity 3.6.2时遇到问题,我按照https://sylabs.io/guides/3.0/user-guide/installation.html的说明操作。我安装了依赖项和Go。
然后运行命令安装最新版本:

export VERSION=3.6.2 && # adjust this as necessary \
mkdir -p $GOPATH/src/github.com/sylabs && \
cd $GOPATH/src/github.com/sylabs && \
wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-${VERSION}.tar.gz && \
tar -xzf singularity-${VERSION}.tar.gz && \
cd ./singularity && \
./mconfig

错误是:

Configuring for project `singularity' with languages: C, Golang
=> running pre-basechecks project specific checks ...
=> running base system checks ...
 checking: host C compiler... cc
 checking: host C++ compiler... c++
 checking: host Go compiler (at least version 1.13)... not found!
mconfig: could not complete configuration

Go(Go版本)

go version go1.15.2 linux/amd64

我不知道发生了什么事!太感谢你了!

sbtkgmzw

sbtkgmzw1#

如果有人遇到此问题,请按照此安装guide

sudo apt-get update && \
sudo apt-get install -y build-essential \
libseccomp-dev pkg-config squashfs-tools cryptsetup

sudo rm -r /usr/local/go

export VERSION=1.13.15 OS=linux ARCH=amd64  # change this as you need

wget -O /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz https://dl.google.com/go/go${VERSION}.${OS}-${ARCH}.tar.gz && \
sudo tar -C /usr/local -xzf /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz

echo 'export GOPATH=${HOME}/go' >> ~/.bashrc && \
echo 'export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrc && \
source ~/.bashrc

curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh |
sh -s -- -b $(go env GOPATH)/bin v1.21.0

mkdir -p ${GOPATH}/src/github.com/sylabs && \
cd ${GOPATH}/src/github.com/sylabs && \
git clone https://github.com/sylabs/singularity.git && \
cd singularity

git checkout v3.6.3

cd ${GOPATH}/src/github.com/sylabs/singularity && \
./mconfig && \
cd ./builddir && \
make && \
sudo make install

singularity version
u0sqgete

u0sqgete2#

我也犯了同样的错误。所有的建议都说你可能有一个旧版本的Go,这就是为什么。但事实证明,将Go和Singularity放在正确的位置更重要。
我发现这些文档https://github.com/hpcng/singularity/blob/release-3.5/INSTALL.md是最有用和正确的关于在哪里把什么在目录方面。
关键是在GOPATH目录中克隆Singularity:
默认情况下,您不会拥有此目录,因此请先创建它

$ mkdir -p ${GOPATH}/src/github.com/sylabs && \
  cd ${GOPATH}/src/github.com/sylabs && \
  git clone https://github.com/sylabs/singularity.git && \
  cd singularity

确保你的奇点在这里:{GOPATH}/src/github.com/sylabs/singularity

总结如下:

Go本身位于此处/usr/local/go
GOPATH将类似于home/your_username/go,奇点将位于例如。home/your_username/go/src/github.com/sylabs/singularity

2vuwiymt

2vuwiymt3#

该问题在5099中报告。
# 5320还提到:
我删除了PPO Python 3.6,这工作得很好!
确保没有以root身份执行任何操作,因为root的$PATH与您当前的用户不同。

kg7wmglp

kg7wmglp4#

新手在这里,但我想通了(以我自己的方式)。打开终端,键入:去env,检查GOPROXY=?在我的案例中:GOPATH=/home/{$my_username}/go。没有名为go的目录(/home/{$my_username}/go不存在),我不知道为什么GO在安装时自动在env中设置PATH。
我试着使用“go env -w GOPATH=/my/actual/path/for/singularity”,然后系统告诉我“go env -w GOPATH=.不重写冲突的OS环境变量””。好吧,我投降。
所以,我只是“mkdir /home/{$my_username}/go”来创建目录GO迫使我:|和“cp singularity-ce-4.0.0.tar.gz”放入该目录,然后将其“tar”。
这一次我进入目录singularity-ce-4.0.0和“./mconfig”,它的工作。
这证实了上面的家伙说:“我正在与同样的错误作斗争。所有的建议都说你可能有一个旧版本的Go,这就是为什么。但事实证明,将Go和Singularity放在正确的位置更重要。

相关问题