在Ubuntu中安装wannier90-3.1.0(非Intel-toolchain)
先前,准备利用手头已装好的MKL库编译wannier。然而,经过多日多方的尝试,最终不得不承认Gfortran编译器+Intel MKL在自己的Ubuntu中的折腾是条死胡同,无论在环境变量中再怎么声明,再怎么更改-l...的库选项和路径,make的过程最多也只能到生成目标文件obj为止,始终连不上既有的Intel库,屡次都以如下错误而中断编译过程:
----------
collect2: error: ld returned 1 exit status
make[1]: *** [../Makefile.2:39:../../w90spn2spn.x] 错误 1
make[1]: 离开目录“/home/hao/wannier90-3.1.0/src/obj”
make: *** [Makefile:34:w90spn2spn] 错误 2collect2: error: ld returned 1 exit status
make[1]: *** [../Makefile.2:49:../../postw90.x] 错误 1
make[1]: 离开目录“/home/hao/wannier90-3.1.0/src/objp”
make: *** [Makefile:54:post] 错误 2
----------
即便自己重新make一套与F95接口的LAPACK和BLAS,也还是无济于事。看来仅单独调用IntelMKL而不采取Intel toolchain是不可行的。
于是果断放弃Intel MKL,转而调用ATLAS。以下是具体安装过程。
一、【安装gfortran编译器和openMPI】
经验证,新版本的gfortran 9.3和openMPI v4.0.3可以用于本次安装。Ubuntu系统可用sudo apt-get install命令实现安装的大部分流程,已有多篇文章教程讲述过,故不复赘述。
二、【安装ATLAS库】
ATLAS库在Ubuntu下可做到一条命令完美安装:
sudo apt-get install libatlas*
<...lots of output...>
atlas --version
以上命令用于检查版本号,验证安装完成与否。
可用whereis逐个检查下列4个库的位置,例如对于第一个,输入
whereis liblapack*
-llapack -lf77blas -lcblas -latlas
默认位置是在/usr/lib/x86_64-linux-gnu/,每个库都各有.a和.so。其中,liblapack已包含在ATLAS库之中,因此无需再装其他的lapack库文件,使用当前的即可。
在确认好ATLAS和LAPACK得到正确安装后,下面就把库的路径添加到环境变量中。输入
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/
export LIBRARY_PATH=$LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/
export
用export再次检验一下,能看到上述路径已增添到对应变量中,表示此时能够被系统调用了(只是临时append环境变量并调用,make之前不要退出终端,否则以上path内容会被还原)。
三、【设置wannier90的make.inc参数】
所用的toolchain为gfortran+openMPI+ATLAS数学库+wannier90,遂以./config下的make.inc.gfort为蓝本,主要设置如下5个参数
F90 = gfortran
COMMS = mpi
MPIF90 = mpif90 #编译并行化的postw90程序
LIBDIR = /usr/lib/x86_64-linux-gnu
LIBS = -L$(LIBDIR) -llapack -lf77blas -lcblas -latlas
四、【编译wannier】
在wannier90-3.1.0目录下输入以下命令,并以四线程并行编译:
make -j4 all install DESTDIR=/home/hao/wannier90-3.1.0
make all,即完全安装,总共能编译生成6个.x可执行文件与1个.a的wannier库文件:
wannier90.x libwannier.a postw90.x w90chk2chk.x w90spn2spn.x w90pov w90vdw.x
若指定以上文件的install目录,DESTDIR=<user/wannier/directory>(默认为空,可在make命令后面的参数中输入),则安装完成后,将在<user/wannier/directory>$(PREFIX)目录下生成两个子文件夹:bin(存放*.x)和lib(存放libwannier.a)。
而文件运行的初始目录如下所示:
1.libwannier.a库和wannier90、postw90、w90chk2chk、w90spn2spn等4个可执行文件就在wannier90-3.1.0目录下;
2.w90pov文件在./utility/w90pov/w90pov;
3.w90vdw.x在./utility/w90vdw/w90vdw.x。
在Ubuntu中安装wannier90-3.1.0(非Intel-toolchain)相关推荐
- mp3 添加封面 linux,Qmmp音乐播放器1.2.0发布! Ubuntu中安装方法
Qmmp是一款基于Qt的音乐播放器,它具有winamp或xmms接口,目前已经发布了1.2.0版本(Qt4版本为0.11.0),并增加了许多新功能,改进以及一些错误修复. Qmmp 1.2.0(0.1 ...
- linux邮箱客户端安装指令,如何在Ubuntu 18.04中安装邮件客户端Geary 0.12.2
Geary电子邮件客户端今天早些时候达到了0.12.2错误修复版本.以下是如何在Ubuntu 18.04,Ubuntu 16.04,Ubuntu 17.10中安装它. Geary是一个Gnome电子邮 ...
- abp 打包部署到ubuntu_如何在Ubuntu中安装Docker和运行 Docker容器
Docker是一种开源且流行的操作系统级虚拟化(俗称"容器化")技术,主要在Linux和Windows上运行. Docker使用容器可以更轻松地创建,部署和运行应用程序. 使用容器 ...
- Ubuntu中安装Eclipse的SVN插件——subclipse
Ubuntu中安装Eclipse的SVN插件--subclipse (2010-07-01 18:38) 分类: Linux 安装好Eclipse以后 进入菜单Help->Install new ...
- labview linux 内核 不匹配,Linux CentOS7(或Ubuntu)中安装NI-VISA后一打开范例Simple Serial.vi就闪退,LabVIEW就崩溃。...
Linux CentOS7(或Ubuntu)中安装NI-VISA后一打开范例Simple Serial.vi就闪退,LabVIEW就崩溃. 我安装了LabVIEW pro 2017 for Linux ...
- 在Ubuntu中安装MySQL (转载)
MySQL在Linux Ubuntu中安装 本文使用的Linux是Ubuntu 12.04.2 LTS 64bit的系统,安装MySQL数据库软件包可以通过apt-get实现. 在Linux Ubun ...
- ubuntu合并终端_如何在Ubuntu中安装多个终端以及更改默认终端
终端是任何Linux系统的关键部分.它允许您通过shell访问Linux系统.虽说现在的Linux发行版,比如Ubuntu,CentOS等已经基本上可以采用GUI来完成绝大部分一般性的任务.但是,终端 ...
- 腾达无线网卡驱动linux,在Ubuntu上安装腾达W541U V2.0 (RT2070)无线网卡驱动【使用2011新驱动】...
这个腾达W541U V2.0 (RT2070)无线网卡,实在无语,网上已经有够多的帖子谈它的驱动问题了.经过一翻折腾,今天在Ubuntu上把安装腾达W541U V2.0 (RT2070)无线网卡驱动过 ...
- Ubuntu中安装Qt
文章目录 Ubuntu中安装必要的软件 安装流程 配置 运行 配置运行 Ubuntu中安装必要的软件 主要为了打开图形程序 sudo apt-get update sudo apt-get --ass ...
- ubuntu安装zlib库_如何在Ubuntu中安装zlib库?
ubuntu安装zlib库 On Ubuntu (18.04), installing zlib reported unable to locate package zlib: 在Ubuntu(18. ...
最新文章
- qt 5.9 mysql 5.7_Qt 5.9.1 连 MYSQL 5.7数据库
- jmeter连接MySQL出错_MySQL数据库之jmeter连接mysql数据库报错Cannot create PoolableConnectionFactory...
- 轻松处理高于平常10倍的视频需求,还能节省60%的IT成本,蓝墨做对了什么?
- python脚本语言是什么意思_python为什么是脚本语言
- Vue第三部分(2):Vue-CLI构建前后端分离项目以及打包部署
- Android获取图片资源的4种方式
- arcgis加载dwg显示一个点_shp文件转为dwg之后在arcgis下打开属性表有高程信息但在cad里面打开为何没高程 - 地学 - 小木虫 - 学术 科研 互动社区...
- PuTTY免输密码自动登录Linux,让 Putty 保存密码,自动登陆的三种方法
- 倾斜摄影三维模型OSGB格式简化(压缩、优化)
- access 的几种更新语句:update where 与 update join where
- 韩顺平 教学资料下载
- C# Socket简单例子(服务器与客户端通信)【转】
- OA开发很简单,OA实施很复杂!
- Semantic-UI 的词语
- 消防应急照明和疏散指示系统
- is与==的恩怨、编码的详解
- oracle 10g express linux,使用Oracle10g express 版本方案介绍
- 【Matlab】删除cell中所有的空白cell.
- 【SSA三维路径规划】基于matlab麻雀算法无人机三维航迹规划【含Matlab源码 301期】
- 可行性、易用性性与用户体验的区别