runtimeverification / evm-semantics

K Semantics of the Ethereum Virtual Machine (EVM)
BSD 3-Clause "New" or "Revised" License
506 stars 140 forks source link

K README and INSTALL should mention bash version requirements #1140

Open ehildenb opened 2 years ago

ehildenb commented 2 years ago

We consistently have MacOS users who have an outdated version of bash, and need to upgrade to use the functionality of many of our runner scripts. https://www.shell-tips.com/mac/upgrade-bash/

We should mention this in the installation/build instructions.

dwightguth commented 2 years ago

with K, we have endeavored to ensure that we don't use any of the newer features of bash, so that users don't have to modify their development environment like this just to get it to work. You may want to consider identifying whether or not there's a way to modify the runner scripts so you don't have this type of issue.

dwightguth commented 2 years ago

Note that the actual issue that Ana reported was with KEVM, not with any of the K scripts.

ehildenb commented 2 years ago

@dwightguth I think we have enough semantics which rely on bash 4> that we sohuld just require it with K anyway, to avoid these issues.

dwightguth commented 2 years ago

I disagree. Bash 4 is never likely to be installed on MacOS by default, so we should either change the scripts so they use zsh when run on MacOS, or else we should stick to only requiring bash 3. We really should avoid requiring users to install custom versions of packages in order to run our tools whenever possible.