计算化学公社

标题: ifort的安装问题 [打印本页]

作者
Author:
西乡新丰客    时间: 2017-1-8 10:58
标题: ifort的安装问题
我已经将ifort安装好,已经可以编译fortran程序,但是现在有一个问题:
我将ifort安装在了主目录下~/software内,在.bashrc中的路径是也已经写入,我在主目录下编译fortran程序是可以的;但是如果我在根目录下的usr中编译一个fortran程序就会出现一下提示:找不到命令,但是我已经在etc/profile中写入了ifort的路径,source过,还是不行,我以前装过gfortran,但路径没有写入过,可是在根目录下只能用gfortran来编译。我想知道怎样修改可以使得在根目录下也可以用ifort来编译。(在装icc也出现相同状况。)
谢谢



作者
Author:
greatzdk    时间: 2017-1-8 14:23
很简单,你只需要在root用户是source一下你user的bashrc即可。
但是最好别用root用户编译。
作者
Author:
978142355    时间: 2017-1-8 14:29
不知道你是怎么配置的。我的机器是在.bashrc当中添加的语句:
source /opt/intel/bin/compilervars.csh intel64
然后在哪里都可以。
作者
Author:
西乡新丰客    时间: 2017-1-8 17:00
greatzdk 发表于 2017-1-8 14:23
很简单,你只需要在root用户是source一下你user的bashrc即可。
但是最好别用root用户编译。

您好,我试过了用root来source .bashrc还有/etc/profile的配置路径,但只要实在根目录下运行ifort都还是会提示找不到命令。
作者
Author:
西乡新丰客    时间: 2017-1-8 17:02
978142355 发表于 2017-1-8 14:29
不知道你是怎么配置的。我的机器是在.bashrc当中添加的语句:
source /opt/intel/bin/compilervars.csh in ...

对,我就是将ifortvars.sh和iccvar.sh  inter64写到了.bashrc中,然后source。我还写到了/etc/profile下,也不管用。
作者
Author:
greatzdk    时间: 2017-1-8 17:45
标题: --
本帖最后由 greatzdk 于 2017-1-8 21:27 编辑

delete
作者
Author:
西乡新丰客    时间: 2017-1-8 21:07
greatzdk 发表于 2017-1-8 17:45
source 写了ifort环境变量的bashrc,不可能不行的,除非你错了。

这个问题主要是我在安装openmpi时出现的。虽然我的openmpi已经装好,在主目录下也可以用mpifort进行编译,但是在根目录下还是只能用mpif90进行编译
在根目录下编译fortran程序时,只能用gfortran,而在主目录~/下,由于我在bashrc中写入来openmpi以及ifort的路径,所以可以用ifort来编译。而现在在根目录下仍然是只能用gfortran来编译串行的fortran程序,而不能用ifort来编译,会提示sudo:ifort找不到命令。在配置openmpi时前出现的./configure --prefix=/***/ F77=ifort FC=ifort所出现的错误说我的编译器有问题。但我已经测试过ifort是可以用的。我又以root身份source了/.bashrc以及/etc/profile还是没有用处。
另外有帖子说:“openmpi设置fortran编译器,通过 man mpif90查到在/usr/share/openmpi/mpif90-wrapper-data.txt里面修改配置,内容的话一看就知道了。”我也试过将mpifort-wrapper-data.txtcompiler中compiler参数修改为ifort也没有效果。

作者
Author:
greatzdk    时间: 2017-1-8 21:26
西乡新丰客 发表于 2017-1-8 21:07
这个问题主要是我在安装openmpi时出现的。虽然我的openmpi已经装好,在主目录下也可以用mpifort进行编译 ...

哦?很复杂的样子。
你确定openmpi是用icc和ifort编译的?
作者
Author:
西乡新丰客    时间: 2017-1-8 21:29
greatzdk 发表于 2017-1-8 21:26
哦?很复杂的样子。
你确定openmpi是用icc和ifort编译的?

这个是可以选的,也可以用gcc和gfortran
作者
Author:
greatzdk    时间: 2017-1-8 21:33
西乡新丰客 发表于 2017-1-8 21:29
这个是可以选的,也可以用gcc和gfortran

对是可选的,但是不明白你为啥混搭着用呢?
你要是想用gcc,gfortran,那就用这两个编译openmpi,然后再去编译你的代码。
同样,你要是想用icc,ifort,那就用这两个编译openmpi,然后去编译你的代码。
so,我是这样认为的
作者
Author:
西乡新丰客    时间: 2017-1-8 21:43
greatzdk 发表于 2017-1-8 21:33
对是可选的,但是不明白你为啥混搭着用呢?
你要是想用gcc,gfortran,那就用这两个编译openmpi,然后再 ...

没有啊,我就是以前安装了gcc,gfortran现在我要改为ifort ,icc,问题就在我在根目录下没法用么
作者
Author:
greatzdk    时间: 2017-1-8 21:45
西乡新丰客 发表于 2017-1-8 21:43
没有啊,我就是以前安装了gcc,gfortran现在我要改为ifort ,icc,问题就在我在根目录下没法用么

那就在普通用户下面编译好程序,放到根目录下,使用吧
作者
Author:
西乡新丰客    时间: 2017-1-8 21:50
greatzdk 发表于 2017-1-8 21:45
那就在普通用户下面编译好程序,放到根目录下,使用吧

,那和我在普通用户下直接编译运行也没啥区别啊。为啥我修改了/etc/profile也不管用?
作者
Author:
greatzdk    时间: 2017-1-8 22:50
西乡新丰客 发表于 2017-1-8 21:50
,那和我在普通用户下直接编译运行也没啥区别啊。为啥我修改了/etc/profile也不管用?
能用就行,干嘛认死理呢
肯定是哪里有问题。不过我也不知道。

作者
Author:
西乡新丰客    时间: 2017-1-8 22:55
greatzdk 发表于 2017-1-8 22:50
能用就行,干嘛认死理呢
肯定是哪里有问题。不过我也不知道。

好吧,我在看看,谢了




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3