oraios/serena · error · FileNotFoundError

verible-verilog-ls is not installed on your system. Please i

Error message

verible-verilog-ls is not installed on your system.
Please install verible using one of the following methods:
  conda:      conda install -c conda-forge verible
  Homebrew:   brew install verible
  GitHub:     Download from https://github.com/chipsalliance/verible/releases
See https://github.com/chipsalliance/verible for more details.

What it means

The SystemVerilog language server requires the verible-verilog-ls binary. When no RuntimeDependency exists for the current platform (deps.get_single_dep_for_current_platform() raises RuntimeError or returns None — i.e. verible was not already on PATH and no downloadable artifact matches this OS/arch), this FileNotFoundError with install instructions (conda, Homebrew, GitHub releases) is raised. It means the library cannot locate or auto-download verible for this system.

Source

Thrown at src/solidlsp/language_servers/systemverilog_server.py:126

                        id="verible-ls",
                        description="verible-verilog-ls for Windows (x64)",
                        url=f"{base_url}/verible-{verible_version}-win64.zip",
                        platform_id="win-x64",
                        archive_type="zip",
                        binary_name=f"verible-{verible_version}/bin/verible-verilog-ls.exe",
                        sha256="729aa244036da4a4f87bc026d33555456fc7f7be79778d983ebe9c893f4a0ca3",
                        allowed_hosts=VERIBLE_ALLOWED_HOSTS,
                    ),
                ]
            )

            try:
                dep = deps.get_single_dep_for_current_platform()
            except RuntimeError:
                dep = None

            if dep is None:
                raise FileNotFoundError(
                    "verible-verilog-ls is not installed on your system.\n"
                    + "Please install verible using one of the following methods:\n"
                    + "  conda:      conda install -c conda-forge verible\n"
                    + "  Homebrew:   brew install verible\n"
                    + "  GitHub:     Download from https://github.com/chipsalliance/verible/releases\n"
                    + "See https://github.com/chipsalliance/verible for more details."
                )

            verible_ls_dir = os.path.join(self._ls_resources_dir, "verible-ls")
            executable_path = deps.binary_path(verible_ls_dir)

            if not os.path.exists(executable_path):
                log.info(f"verible-verilog-ls not found. Downloading from {dep.url}")
                _ = deps.install(verible_ls_dir)

            if not os.path.exists(executable_path):
                raise FileNotFoundError(f"verible-verilog-ls not found at {executable_path}")

View on GitHub (pinned to 7fcbca7e62)

Solutions

  1. Install verible system-wide so it is found on PATH: `conda install -c conda-forge verible` or `brew install verible`.
  2. Alternatively download the matching archive from https://github.com/chipsalliance/verible/releases and put `verible-verilog-ls` on PATH.
  3. Confirm `which verible-verilog-ls` (or `where` on Windows) resolves after install; reopen the session so detection reruns.
  4. If on an unsupported platform, build verible from source (bazel) and add it to PATH, since no auto-download exists for it.
  5. Check that the configured verible version has release assets for your OS/arch; if not, switch the configured version.

Example fix

// before (no verible on PATH)
$ solidlsp start --ls systemverilog
// after
$ brew install verible
$ which verible-verilog-ls
/usr/local/bin/verible-verilog-ls
Defensive patterns

Strategy: validation

Validate before calling

import shutil
if shutil.which("verible-verilog-ls") is None:
    raise SystemExit(
        "Install verible first: conda install -c conda-forge verible "
        "| brew install verible | GitHub releases")

Try / catch

try:
    server = SolidLSP(systemverilog_config)
except FileNotFoundError as e:
    if "verible-verilog-ls is not installed" in str(e):
        print(e)  # message contains exact conda/brew/GitHub install steps
        sys.exit(1)
    raise

Prevention

When it happens

Trigger: Starting the SystemVerilog LS on a machine where `verible-verilog-ls` is not on PATH AND the platform has no preconfigured download (unsupported OS/arch, e.g. linux-arm64, or the platform lookup raising RuntimeError), so _get_or_install_core_dependency finds dep == None.

Common situations: Fresh CI container or dev machine without verible installed; running on an architecture (arm64 Linux, Alpine/musl) not covered by the packaged verible releases; PATH not including a manually installed verible; pinned verible version with no release asset for the current platform.

Related errors


AI-assisted analysis of oraios/serena@7fcbca7e62 (2026-08-29). Data as JSON: /api/errors/311620cccb81c5b5. Report an issue: GitHub.