编译make 时,碰到打开某个路径文件不允许,这就碰到了执行权限问题。我是在root身份下编译。安装了Intel编译器,但是环境变量设置在/home/user/.bashrc. VASP有基于不同架构的makefile,而且对代码的编译也有不同的编译器。编译过程包括了预处理、编译、汇编、链接等功能。既然有不同的子功能,那每个子功能都是一个单独的工具来实现,它们合在一起形成了一个完整的工具集。同时编译过程又是一个有先后顺序的流程,它必然牵涉到工具的使用顺序,每个工具按照先后关系串联在一起,这就形成了一个链式结构。这个链式结构必须和谐一致,建议统一用Intel开发的系列,不同系列的编译组合和并行运算设置不要混合使用,以前编译VASP遇到麻烦,把icc 变为gcc,icpc变为g++以及不同并行编译选择变换等等,就编译通过,这次在UBUNTON只安装了Intel 编译2019版本,感觉不再改动就通过。 遇到编译器问题。诸如:fpp not found.我在root 身份下:
source /home/user/.bashrc,
输入:which ifort
fpp -V
就会有相应输出,再键入make,完美编译成功
小结:编译是把高级语言编写的代码经过预处理、编译、汇编、链接最后形成可执行文件,编译出错除了从这四个方面分析,还要从日新月异的处理器架构、指令架构,诸如**?指出
不同的体系架构拥有不同的机器特性
Word size: 是64位还是32位系统
Endianness: 是大端还是小端系统
Alignment: 是否必修按照4字节对齐方式进行访问
Default signedness: 默认数据类型是有符号还是无符号
NOMMU: 是否支持MMU
交叉编译时的主机环境与目标环境不同
Configuration issues:
HOSTCC vs TARGETCC:
Toolchain Leaks:
Libraries:
Testing:

等等,我等菜鸟感觉蛋大,只有在不停实践中琢磨、应用、弄懂!不断学会优化选择统一高效的编辑方式。根据编译的四个主要环节,结合硬件架构与指令架构,调试选择合适的编译平台,apt -get install -f 依赖库等等