作者zmack0905 (降太)
看板Linux
标题[问题] 重复source於是找不到ifort的原因请教
时间Wed Jun 7 11:49:34 2023
目前使用rocky linux,gcc,gfotran及ifort皆已安装,如需版号协助判断我再补上
昨天以sudo取得权限後安装intel fortran(目前有免费版,可以快去,不然哪天又
关上这个大门了),并且在各帐号测试都能使用(以"ifort-v 指令测试")
目前於.bashrc文件设定
source /opt/intel/oneapi/setvars.sh
以利登入时有ifort可以用
:: initializing oneAPI environment ...
-bash: BASH_VERSION = 4.4.20(1)-release
args: Using "$@" for setvars.sh arguments:
:: clck -- latest
:: compiler -- latest
:: debugger -- latest
:: dev-utilities -- latest
:: inspector -- latest
:: itac -- latest
:: mpi -- latest
:: tbb -- latest
:: oneAPI environment initialized ::
[***@rockylinusx ~]$ ifort -v
ifort version 2021.9.0
然後今天遇到如果使用者再度source ~/.bashrc 的话
[pub@rockylinusx ~]$ source ~/.bashrc
:: WARNING: setvars.sh has already been run. Skipping re-execution.
To force a re-execution of setvars.sh, use the '--force' option.
Using '--force' can result in excessive use of your environment variables.
.....(以下为flag说明,先省略)
[xxx@rockylinusx ~]$ ifort -v
bash: ifort: 找不到指令...
这时如设定flags并单独source setvars.sh
[xxx@rockylinusx ~]$ SETVARS_ARGS="--force"
[xxx@rockylinusx ~]$ export SETVARS_ARGS
[xxx@rockylinusx ~]$ source /opt/intel/oneapi/setvars.sh
:: initializing oneAPI environment ...
-bash: BASH_VERSION = 4.4.20(1)-release
args: Using "SETVARS_ARGS" for setvars.sh arguments: --force
:: clck -- latest
:: compiler -- latest
:: debugger -- latest
:: dev-utilities -- latest
:: inspector -- latest
:: itac -- latest
:: mpi -- latest
:: tbb -- latest
:: oneAPI environment initialized ::
[***@rockylinusx ~]$ ifort -v
ifort version 2021.9.0
ifort又可以正常使用了,请问有人知道这是什麽原因导致的吗
是否表示我在.bashrc的设定不能只单纯写个
"source /opt/intel/oneapi/setvars.sh"
必须要加入其他指令来避免? 或者是单纯就是增加--force,让每次/.bashrc都强制
重新载入呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.40.145 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1686109779.A.C8D.html
1F:推 yvb: 看一下你自己贴上来的讯息, WARNING 那段. 06/07 19:23
2F:→ zmack0905: 感谢你的回覆,我好奇为什麽既然已经载入了(毕竟我写在 06/08 14:11
3F:→ zmack0905: .bashrc),那为什麽再source一次就会妨碍使用呢?是因 06/08 14:11
4F:→ zmack0905: 为这个动作会改变我的环境变数吗?(因为ifort直接变成 06/08 14:11
5F:→ zmack0905: 找不到),那为什麽其他的指令的使用似乎不受这个影响 06/08 14:11
6F:→ zmack0905: ?是不是setvars sh里面设定的关系呢? 06/08 14:11
7F:推 brli7848: setvar.sh是明文,可以自己读读看它的条件判断 06/08 16:58
8F:→ brli7848: 然後自己实验看看重复source时echo $PATH的差异 06/08 16:59
9F:推 yvb: 刚才安装 intel/oneapi-hpckit 实测没问题, 06/08 23:25
10F:→ yvb: 可能原 PO 的 .bashrc 在哪里把 setvars.sh 的处理弄坏了... 06/08 23:26