The following software environments are required. The code is only tested on linux OS. If you want to run on other OS, some equivalent environments should be set ...