用法很简单,需要内网先有python环境 2或者3都可以
参考文档:
https://spack.readthedocs.io/en/latest/command_index.html#spack-mirror-create
支持的包很多,包括llvm python 等等。。
先在一个墙外机下载并解压,例如解压到 /path/spack
然后在该外网机运行如下命令(例如我们想装全套llvm)
cd /path/spack/bin
./spack mirror create --dependencies libelf llvm
##安装好之后打包整个spack目录,并复制到目标内网机
cd /path
tar -zcvf myspack.tar.gz spack
然后复制到内网机 解压并运行
## 解压
tar -zxvf myspack.tar.gz ~/
cd ~/spack
##
cd ~/spack/bin
##先看下本机编译器
./spack compilers
##一键安装
./spack install libelf llvm
##设置运行环境 如果默认请加入~/.bash_profile
~/spack/share/spack/setup-env.sh
~/spack/bin/spack load llvm
注意:如果内网机为旧系统(如 gcc4,5,...),无法使用新版spack!
CentOS 7 最大可用版本为 spack 0.16.3
- 在之后版本的 spack依赖了一个叫 clingo 的python库,想编译这个库需要高版本gcc
- spack bootstrap 可以创建缓存 但仅限当前系统,如果内网rhel7 当前系统rhel8 缓存复制进去照样不能用
- 但我们想用spack装高版本gcc
- (实际上很多驱动程序可能都没有 rhel8 系列)