作者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://www.ptt.cc/bbs/Linux/M.1686109779.A.C8D.html
推 yvb: 看一下你自己貼上來的訊息, WARNING 那段. 06/07 19:23
→ zmack0905: 感謝你的回覆,我好奇為什麼既然已經載入了(畢竟我寫在 06/08 14:11
→ zmack0905: .bashrc),那為什麼再source一次就會妨礙使用呢?是因 06/08 14:11
→ zmack0905: 為這個動作會改變我的環境變數嗎?(因為ifort直接變成 06/08 14:11
→ zmack0905: 找不到),那為什麼其他的指令的使用似乎不受這個影響 06/08 14:11
→ zmack0905: ?是不是setvars sh裡面設定的關係呢? 06/08 14:11
推 brli7848: setvar.sh是明文,可以自己讀讀看它的條件判斷 06/08 16:58
→ brli7848: 然後自己實驗看看重複source時echo $PATH的差異 06/08 16:59
推 yvb: 剛才安裝 intel/oneapi-hpckit 實測沒問題, 06/08 23:25
→ yvb: 可能原 PO 的 .bashrc 在哪裏把 setvars.sh 的處理弄壞了... 06/08 23:26