Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Beginner
263 Views

Solution for Broken compilervars.sh with zsh (on MacOS 10.15.7) after latest compiler update.

The most recent version of the shell script compilervars.sh added a section  to

remove duplicate paths.     Its fine for bash, but breaks zsh (whis no default in MacOS.

"echo $(!arg) "  is incorrect  syntax in  the zshell scripting.

 I found the fix below ,   It might be useful for anyone using zhell on macos.

 

 

Broken script

------------------function remove_duplicate_paths----------------------------

remove_duplicate_paths() {
local arg=$1

if [ "${INTEL_HOST_PLATFORM}" = "Darwin" ]; then
local arr=(`echo ${!arg} | sed 's/:/\'$'\n/g'`)
else
local arr=(`echo ${!arg} | sed 's/:/\n/g'`)
fi

fixed script below


# ------------------function remove_duplicate_paths----------------------------
remove_duplicate_paths() {
local arg=$1
eval "value=\"\${$arg}\""
if [ "${INTEL_HOST_PLATFORM}" = "Darwin" ]; then
local arr=(`echo ${value} | sed 's/:/\'$'\n/g'`)
else
local arr=(`echo ${!arg} | sed 's/:/\n/g'`)
fi

5 Replies
Moderator
246 Views

Hi,

Thanks for reporting this issue and providing the workaround.

We will forward this thread to the concerned internal team to verify and get it fixed accordingly if possible.

Have a Good day!


Thanks & Regards

Goutham


0 Kudos
Moderator
236 Views

I've reported this to our Developer.

Thanks,


0 Kudos
Moderator
224 Views

0 Kudos
Novice
138 Views

Thanks, I confirm this worked for me on 10.15.7 with zsh.  Now onto the next problems with updating macos+intel+openmpi... 

0 Kudos
Beginner
75 Views

Thank you so much for your more beneficial advice so that I could work around the same as problem in my case.

$ source .zshrc (return)

After this command, there is nothing such as error messages at all.

0 Kudos