General Troubleshooting
See the style guide for how to format error messages.
If you run into trouble building Servo and you do not see your error listed on any other page, first try following the steps below:
- Ensure that you have all of the listed build requirements. In particular, if you are using an uncommon Linux distribution or some other kind of Unix, you may need to determine what the correct name of a particular dependency is on your system.
- Double-check that build requirements are installed and check depenency versions.
- Run
./mach boostrapor.\mach boostrapon Windows. Sometimes the tools or dependencies needed to build Servo will change. It is safe to run this command more than once. Ensure that no errors were reported during execution. If you have installed other dependencies manually you may need to run./mach bootstrap --skip-platform. - Refresh your environment. This may involve:
- Restarting your shell
- Logging out and logging back in
- Restarting your computer
Dependency versions
curl --versionshould print a version like 7.83.1 or 8.4.0- On Windows, type
curl.exe --versioninstead, to avoid getting the PowerShell alias forInvoke-WebRequest
- On Windows, type
uv --versionshould print 0.4.30 or newer- Servo’s
machbuild tool depends onuvto provision a pinned version of Python (set by the.python-versionfile in the repo) and create a local virtual environment (.venvdirectory) into which the python dependency modules are installed. - If the system already has an installation of the required Python version, then
uvwill just symlink to that installation to save disk space. - If the versions do not match or no Python installation is present on the host, then
uvwill download the required binaries. - Using an externally managed Python installation for executing
machas a Python script is currently not supported.
- Servo’s
rustup --versionshould print a version like 1.26.0- Windows:
choco --versionshould print a version like 2.2.2 - macOS:
brew --versionshould print a version like 4.2.17
You are not alone!
If you have problems building Servo that you can’t solve, you can always ask for help in the build issues chat on Zulip.