在申威6B SW3231上面编译mongodb工具,比如mongodump、mongoimport等

113 阅读1分钟

在申威6B SW3231上面编译mongodb工具,比如mongodump、mongoimport等

下载仓库

github.com/mongodb/mon…

在sw6b 环境部署go1.20

  • 在使用go1.16版本的时候,会报错:

    ../work/src/github.com/mongodb/mongo-tools/mongodump/prepare.go:27:2: //go:build comment without // +build comment
    ../work/src/github.com/mongodb/mongo-tools/common/password/pass_util.go:16:2: //go:build comment without // +build comment
    
  • 在使用go1.20版本是可以的。下载地址是:developer.wxiat.com/#/ecology/b…

  • 安装go好了之后,go version

    root@slot1:/home# go version 
    go version go1.20.10 sw1.0.0 linux/sw64
    
  • 将从github下载下来的mongo-tools放到申威的机器。

  • 由于是信创环境,没有连外网,所以使用GOPATH。

    • 在编译过程中,github仓库里面有vendor目录,其中golang.org/x/sys/unix没有,如果编译过程中报错了,需要添加下。
  • 如果只需要编译mongodump程序,执行下面的命令:

    GO111MODULE=off GOARCH=sw64 CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w" -o bin/mongodump mongodump/main/mongodump.go
    
  • 编译其他可以参考github的readme文档。

如果在编译过程中出现了项目依赖问题,可以参考官网提供的sw-go-porter包。地址:developer.wxiat.com/#/ecology/b…