Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7954 Discussions

How to use zsh, csh, or tcsh with oneAPI setvars.sh, vars.sh or PSXE bash scripts

Ron_Green
Moderator
2,080 Views

PSXE 2020 macOS:  compilervars.sh currently does not support zsh. 

PSXE 2020 macOS zsh: Simplest workaround is:

bash -c 'source /opt/intel/bin/compilervars.sh intel64 ; exec zsh'

Which will end up with a new zsh instance, so if you exit from the new instance you will lose the env vars.

oneAPI:  setvars.sh or compiler/latest/vars.sh and other shells:

Same method as above:

# oneAPI setvars.sh use in zsh
bash -c 'source /opt/intel/oneapi/setvars.sh ; exec zsh'
# oneAPI compiler vars.sh use in zsh
bash -c 'source /opt/intel/oneapi/compiler/latest/env/vars.sh ; exec zsh'

# oneAPI setvars.sh use in csh/tcsh
bash -c 'source /opt/intel/oneapi/setvars.sh ; exec csh'
# oneAPI compiler vars.sh use in csh/tcsh
bash -c 'source /opt/intel/oneapi/compiler/latest/env/vars.sh ; exec csh'

 

WARNING - do not put these in your shell "rc" dot file, for example, ~/.cshrc. Your shell RC is invoked with each new shell - and notice "exec csh" in this workaround - this will start a subshell, invoke .cshrc, which execs a new shell, the new shell runs .cshrc and you get into an infinite loop.

0 Replies
Reply