Skip to content

Adding explicit install configuration for EL8 and EL9 systems#3408

Merged
vvbandeira merged 4 commits into
The-OpenROAD-Project:masterfrom
kcaisley:fix-build-AlmaLinux9-Ubuntu24.04
Aug 28, 2025
Merged

Adding explicit install configuration for EL8 and EL9 systems#3408
vvbandeira merged 4 commits into
The-OpenROAD-Project:masterfrom
kcaisley:fix-build-AlmaLinux9-Ubuntu24.04

Conversation

@kcaisley

@kcaisley kcaisley commented Aug 18, 2025

Copy link
Copy Markdown
Contributor

This pull request is meant to be done in partnership with The-OpenROAD-Project/OpenROAD#7997.

My goal here is to enable building on the most commonly used Enterprise Linux 8/9 systems, by explicitly naming AlmaLinux as a valid target. The NAME field of /etc/os-release across EL7, EL8, and EL9 system can take any of the following values:

"CentOS Linux" | "Red Hat Enterprise Linux Server" | "AlmaLinux" | "Rocky Linux" | "Red Hat Enterprise Linux"

So I first match against these, and then run one of the cases:

case "${elVersion}" in
    "7")
        # EL7 = RHEL 7 or CentOS 7
        if [[ "${option}" == "base" || "${option}" == "all" ]]; then
            _install_EL7_Packages
            _install_EL7_CleanUp
        fi
        ;;
    "8"|"9")
        # EL8/EL9 = RHEL, Rocky Linux, AlmaLinux, or CentOS 8+
        if [[ "${option}" == "base" || "${option}" == "all" ]]; then
            _install_EL8_EL9_Packages
            _install_EL8_EL9_CleanUp
        fi
        ;;
    *)
        echo "ERROR: Unsupported Enterprise Linux version: ${elVersion}" >&2
        exit 1
        ;;
esac

I fetch the correct .rpm version of klayout within the EL8/9 functions, and use dnf over yum for clarity.

@kcaisley

Copy link
Copy Markdown
Contributor Author

One small thing which I'm not sure about, is if the cleanup functions need the rm -rf /var/lib/apt/lists/* line in them:

# Enterprise Linux 8/9 cleanup
_install_EL8_EL9_CleanUp() {
    dnf clean -y all
    rm -rf /var/lib/apt/lists/*
}

I included it here since _install_EL7_CleanUp() has the same, but by default I believe EL 7/8/9 distros don't have this directory present. Happy to add this, just wasn't sure if there was some reason to keep it.

Comment thread etc/DependencyInstaller.sh Outdated

@vvbandeira vvbandeira left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please address comments above; otherwise, it looks good.
BTW, thanks for both PRs!

Comment thread etc/DependencyInstaller.sh Outdated
Comment thread tools/OpenROAD
@vvbandeira

Copy link
Copy Markdown
Member

@kcaisley there's a merge conflict

- Add AlmaLinux, Rocky Linux, and RHEL support to DependencyInstaller.sh
- Update OpenROAD submodule with matching AlmaLinux support and sudo permission fixes
- Resolves file ownership issues when running setup scripts with sudo

Signed-off-by: kcaisley <kcaisley@uni-bonn.de>
- Enterprise Linux distribution detection to handle all variants (CentOS, RHEL, AlmaLinux, Rocky Linux)
- Add version-based dispatch to use appropriate package managers (yum for EL7, dnf for EL8/EL9)
- Create separate functions for EL7 vs EL8/EL9 with correct KLayout package URLs
- For Klayout, use CentOS_7 package for EL7, CentOS_8 package for EL8, RockyLinux_9 package for EL9
- Fix argument expansion issue that broke dependency installer calls

Signed-off-by: kcaisley <kcaisley@uni-bonn.de>
…ntation

Signed-off-by: kcaisley <kcaisley@uni-bonn.de>
@kcaisley kcaisley requested a review from vvbandeira August 27, 2025 19:25
* master:
  Update metrics again for small diffs
  rebased private designs after new opt transforms are enabled
  FlowTutorial.md Typo
  flow: update sky130hd/uW mpl params
  Update metrics recent changes

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
@vvbandeira vvbandeira enabled auto-merge August 28, 2025 09:44
@vvbandeira vvbandeira merged commit 1592c42 into The-OpenROAD-Project:master Aug 28, 2025
8 checks passed
@kcaisley kcaisley deleted the fix-build-AlmaLinux9-Ubuntu24.04 branch August 28, 2025 23:26
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.

installation fails during build_openroad.sh Line 954: Permission denied Error when executing setup.sh on RHEL8

3 participants