Skip to content

Comments

Support Kali GNU/Linux and generic Debian derivatives in DependencyInstaller#9522

Open
Subhankar-hub wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
Subhankar-hub:support/kali-linux
Open

Support Kali GNU/Linux and generic Debian derivatives in DependencyInstaller#9522
Subhankar-hub wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
Subhankar-hub:support/kali-linux

Conversation

@Subhankar-hub
Copy link

Summary

  • Add "Kali GNU/Linux" and wildcard "Debian GNU/Linux"* to OS case match so Debian derivatives are recognized
  • Fall back to libtcl8.6 when the virtual libtcl package has no install candidate
  • Auto-detect system Python version instead of hardcoding 3.8 for Debian
  • Normalize non-standard Debian version IDs (e.g., Kali's 2025.4) to Debian 12 for the or-tools download URL
  • Add -DCMAKE_POSITION_INDEPENDENT_CODE=ON to Abseil cmake config for GCC 15+ where PIE is the default

Test plan

  • Tested setup.sh on Kali GNU/Linux 2025.4 (GCC 15.2, Python 3.13, glibc 2.42)
  • Verified OpenROAD builds and runs (openroad -version succeeds)
  • Verify no regressions on Ubuntu 22.04/24.04
  • Verify no regressions on Debian 12

Fixes The-OpenROAD-Project/OpenROAD-flow-scripts#3910

Made with Cursor

…staller

Kali and other Debian derivatives fail to install dependencies because
the OS detection only matches exact distro names. This patch:

- Add "Kali GNU/Linux" and wildcard "Debian GNU/Linux"* to OS case match
- Fall back to libtcl8.6 when the virtual libtcl package has no candidate
- Auto-detect Python version instead of hardcoding 3.8
- Normalize non-standard Debian version IDs (e.g. Kali's 2025.4) to
  Debian 12 for the or-tools download URL
- Add -DCMAKE_POSITION_INDEPENDENT_CODE=ON to Abseil build for GCC 15+
  where PIE is the default

Fixes The-OpenROAD-Project/OpenROAD-flow-scripts#3910

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly improves the dependency installation script for Debian-based systems, adding support for derivatives like Kali GNU/Linux. The changes are robust and well-implemented. Key improvements include adding a wildcard for Debian distributions, providing a fallback for the libtcl package, dynamically detecting the Python version, and normalizing non-standard version IDs for downloading or-tools. The addition of the CMAKE_POSITION_INDEPENDENT_CODE flag for Abseil is also a necessary fix for compatibility with modern compilers. Overall, these are excellent enhancements that increase the script's flexibility and maintainability.

@maliberty
Copy link
Member

Note that commits need to be signed (git commit -s) to pass DCO. If you click the link it has info on correcting existing commits.

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

2 participants