Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
Announcements
Intel Customer Support will be observing the Martin Luther King holiday on Monday, Jan. 17, and will return on Tues. Jan. 18.
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646
7590 Discussions

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

Ron_Green
Moderator
921 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