Skip to content

Conversation

@Bynaryman
Copy link

Description

Adds support for Arch Linux and Manjaro Linux distributions to the dependency installer script.

Changes

  • Added detection for "Arch Linux" and "Manjaro Linux" in etc/DependencyInstaller.sh
  • Provides installation instructions for base packages via pacman
  • Builds common dependencies from source (cmake, bison, swig, boost, eigen, cudd, lemon, spdlog, gtest, abseil)
  • Builds or-tools 9.11 from source (no prebuilt binaries available for Arch-based distributions)

Testing

  • Tested on Manjaro Linux (kernel 6.16.8, Arch-based)
  • Successfully built OpenROAD v2.0-25296-g0064f2d9f3
  • All dependencies installed correctly to ~/.local
  • System packages used: spdlog 1.15.3, fmt 11.2.0, yaml-cpp

Required System Packages

Users need to install base packages first:

sudo pacman -S --needed base-devel git cmake bison flex gcc clang libomp wget \
  unzip python python-pip tcl tk qt5-base qt5-charts qt5-imageformats \
  qt5-multimedia qt5-svg qt5-tools qt5-xmlpatterns ruby readline pcre \
  pcre2 zlib libffi boost eigen swig yaml-cpp pandoc groff help2man \
  lcov gdb llvm verilator klayout

Notes

  • CI/Ubuntu-specific dependencies are skipped (only Ubuntu 22.04 is supported for CI)
  • The script does not automatically install pacman packages (following Arch philosophy of user control)
  • Uses _installCommonDev function to build dependencies from source
  • or-tools build takes approximately 1-2 hours on typical systems

- Add detection for Arch Linux and Manjaro Linux distributions
- Provide instructions for installing base packages via pacman
- Build common dependencies from source (cmake, bison, swig, boost, etc.)
- Build or-tools 9.11 from source (no prebuilt binaries available for Arch)
- Tested on Manjaro Linux with successful OpenROAD build

Fixes support for Arch-based distributions that were previously unsupported.
@maliberty maliberty requested a review from sombraSoft October 10, 2025 23:42
@maliberty
Copy link
Member

Thanks for the contribution. Commits need to be signed with git commit -s. See the details link by DCO for more info on fixing this.

@sombraSoft please review as I don't know if this conflicts with your refactoring work.

@github-actions
Copy link
Contributor

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

Copy link
Contributor

@sombraSoft sombraSoft left a comment

Choose a reason for hiding this comment

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

LGTM.
About the refactor, I can incorporate changes from this PR into the new script after this gets merged, no problem.
I just don't have a way to test this as I don't have access to an arch or manjaro machine.

@sombraSoft
Copy link
Contributor

@Bynaryman
would you click on DCO check for this PR and go through the instructions in order to pass it? It's just a simple rebase
https://github.com/The-OpenROAD-Project/OpenROAD/pull/8609/checks?check_run_id=52494103345

Copy link
Member

@maliberty maliberty left a comment

Choose a reason for hiding this comment

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

Accepting on faith as we don't test on these platforms.

@maliberty
Copy link
Member

DCO needs to be fixed before we can merge.

@maliberty
Copy link
Member

A timely update would be appreciated as we have a larger refactoring underway and would like to merge this first.

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.

3 participants