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

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions