Skip to content

Add support for Kali GNU/Linux (and generic Debian derivatives) #3910

@Subhankar-hub

Description

@Subhankar-hub

Summary

Building OpenROAD-flow-scripts on Kali GNU/Linux fails at multiple stages due to OS detection not recognizing Kali (or generic Debian derivatives). Since Kali is Debian-based, it should be routed through the existing Debian/Ubuntu installation paths.

Issues Encountered

  1. OS detection failure — Both etc/DependencyInstaller.sh and tools/OpenROAD/etc/DependencyInstaller.sh only match "Ubuntu", "Debian GNU/Linux rodete", and "Debian GNU/Linux" exactly. Kali reports its OS as "Kali GNU/Linux", causing an "unsupported system" error.

  2. libtcl virtual package — On Kali (and some Debian versions), libtcl is a virtual package with no install candidate. The script needs to fall back to libtcl8.6.

  3. Hardcoded libpython3.8 — The Debian install path defaults to libpython3.8, which doesn't exist on newer Debian-based distros (Kali has Python 3.13+). The version should be auto-detected.

  4. or-tools download URL — Kali's VERSION_ID is 2025.4, which doesn't correspond to any or-tools release. Non-standard Debian version IDs need to be normalized to a compatible Debian release (e.g., 12).

  5. Abseil compiled without -fPIC — On GCC 15 (Kali/Debian Testing), PIE is the default. Abseil static libraries need -DCMAKE_POSITION_INDEPENDENT_CODE=ON to link into PIE executables.

Environment

  • OS: Kali GNU/Linux 2025.4 (Rolling, based on Debian Testing)
  • GCC: 15.2.0
  • glibc: 2.42
  • Python: 3.13

Expected Behavior

setup.sh and build_openroad.sh should complete successfully on Kali and other Debian derivatives.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions