guild-operators icon indicating copy to clipboard operation
guild-operators copied to clipboard

Current alpha branch breaks prereqs.sh for Enterprise Linux 9

Open TrevorBenson opened this issue 2 years ago • 1 comments

Describe the bug Enterprise Linux 9 packaging does not match the Enterprise Linux 8. The current master branch would bypass the issue when trying to install ncurses-compat-libs, as it does not exist in el9 distros. However the alpha branch added a link between 8 and 9.

elif [[ "${VERSION_ID}" =~ "8" ]] || [[ "${VERSION_ID}" =~ "9" ]]; then
  #RHEL/CentOS/RockyLinux8
  pkg_opts="${pkg_opts} --allowerasing"
  pkg_list="${pkg_list} libusbx ncurses-compat-libs pkgconf-pkg-config"

To Reproduce Steps to reproduce the behavior:

  1. Clone guild-operators repository alpha branch onto a RHEL9
  2. Enable the RHEL Code Ready Builder repository
  3. Install EPEL for EL9
  4. Execute `prereqs.sh
  5. See error

Expected behavior Success to install packages and compile

Screenshots

$ ./prereqs.sh 
A new version of prereqs script is available, do you want to download the latest version? (yes/no): no
Using yum to prepare packages for "Red Hat Enterprise Linux" system
  Updating system packages...
  Installing missing prerequisite packages, if any..
Error: Unable to find a match: ncurses-compat-libs
An error occurred while installing the prerequisite packages, please investigate by using the command below:
sudo yum -y --allowerasing install python3 coreutils libffi-devel gmp-devel openssl-devel ncurses-devel ncurses-libs systemd systemd-devel libsodium-devel zlib-devel make gcc-c++ tmux git jq gnupg2 libtool autoconf iproute bc traceroute dialog sqlite util-linux xz wget unzip procps-ng libusbx ncurses-compat-libs pkgconf-pkg-config
It would be best if you could submit an issue at https://github.com/cardano-community/guild-operators with the details to tackle in future, as some errors may be due to external/already present dependencies
ERROR: 

Version:

  • OS: Red Hat Enterprise Linux 9
  • Product version: Just prereqs.sh from alpha branch, commit e13bfe7825e51d1a6be4e1ac298b83eb93024cd7
  • Cardano Node version: N/A
  • Network you're connecting to: N/A

Additional context

  • pkgconf and pkgconf-pkg-config may be installed by default. I'll need to rebuild an el9 minimal to confirm the true minimal install, as the system I was using was for ubi9 and I had selected some additional package groups during the installation to support it, which may have added the dependencies for pkgconf\*.
  • libusbx is not installed in el9, but exists and installs when ncurses-compat-libs is not part of the list (although is skipped in master since 9 wasn't an "or" or "elif" in prereqs.

I'll spend some time this weekend investigating the base RHEL 9 (vs. the Universal Base Image 9 I was working on today) and create a branch to handle the differences between el8 and el9 packaging.

TrevorBenson avatar Jul 01 '22 18:07 TrevorBenson

Might need a temporary diversion on master instead of being able to copy as-is, as alpha is on node-1.35 now, while mainnet upgrade is not yet mandatory

rdlrt avatar Jul 02 '22 00:07 rdlrt