Troubleshooting

Solidity Compilation Issues under macOS

Under OSX/macOS, Solidity targets passed to the mythx analyze command can fail. This can look as follows:

$ mythx analyze --mode quick contracts/**/*.sol
Unsupported macOS version.
We only support Mavericks, Yosemite, El Capitan, Sierra, High Sierra and Mojave.
Usage: mythx analyze [OPTIONS] [TARGET]...

Error: Error installing solc version v0.5.10: Command '['sh', '/var/folders/vk/01zl87497jx6bq66fhhhd9zm0000gn/T/py-solc-x-tmp/solidity_0.5.10/scripts/install_deps.sh']' returned non-zero exit status 1.

This error is raised by the py-solc-x dependency, which is responsible for the automatic setup of solc and correct compilation. Please consult this wiki article for instructions to correctly set up your Solidity compiler. If the issue still persists, feel free to open an issue in the py-solc-x repository.

Overriding a YAML-defined Output File

Depending on your setup, you might find yourself in the situation where you have defined a .mythx.yml file, with an output key such as output: foo.json. Now, whenever you run the CLI in this directory, the YAML file is picked up on, and output of all MythX CLI commands is written to that file. Before the MythX CLI version v0.6.18 the only workaround was to override the YAML configuration altogether by passing in an explicit, empty configuration file parameter, such as mythx --config=/dev/null analysis list. This has been fixed in the following versions by introducing the :code`–stdout` flag. Now, to override the output file definition, simply run:

mythx --stdout analysis list

This will preserve all your YAML configuration options, just overriding the output file definition.