View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0007163 | Rocky-Linux-9 | dnf | public | 2024-06-13 19:43 | 2024-11-27 01:33 |
| Reporter | Norbert Hornyák | Assigned To | Louis Abel | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | reopened | ||
| Summary | 0007163: Install failed with missing dependencies | ||||
| Description | I install the system with kickstart. Here is my package section for that: %packages --ignoremissing -iwl*-firmware -plymouth* -selinux-policy* -xkeyboard-config grub2-efi-x64 grub2-efi-x64-modules grub2-tools-efi efibootmgr shim-x64 glibc-all-langpacks epel-release salt-minion %end This is fails at ca-certificates rpm postinstall section, because libffi.so.8 was not installed. If I add libffi to this list exactly, then it is installed and the installer completes, looks like everything is fine... But logging in into newly installed system, a lot of things not working because libreadline.so.8 is missing. (And I dont know what else....) | ||||
| Tags | No tags attached. | ||||
| I tested with Red Hat 9.4, that works fine. | |
| Also libreadline.so is missing. So, if you add libffi to package list, the system will be installed, but a LOT of things not working regarding to a missing base dependency. | |
|
First, this is what requires libffi. # dnf repoquery -q --whatrequires libffi --disablerepo=* --enablerepo=baseos --enablerepo=appstream firefox-0:115.12.0-1.el9_4.x86_64 gjs-0:1.68.6-4.el9.i686 gjs-0:1.68.6-4.el9.x86_64 glib2-0:2.68.4-14.el9.i686 glib2-0:2.68.4-14.el9.x86_64 gobject-introspection-0:1.68.0-11.el9.i686 gobject-introspection-0:1.68.0-11.el9.x86_64 jna-0:5.6.0-8.el9.x86_64 libffi-devel-0:3.4.2-8.el9.i686 libffi-devel-0:3.4.2-8.el9.x86_64 libomp-0:17.0.6-1.el9.x86_64 libwayland-client-0:1.21.0-1.el9.i686 libwayland-client-0:1.21.0-1.el9.x86_64 libwayland-server-0:1.21.0-1.el9.i686 libwayland-server-0:1.21.0-1.el9.x86_64 llvm-libs-0:17.0.6-5.el9.i686 llvm-libs-0:17.0.6-5.el9.x86_64 p11-kit-0:0.25.3-2.el9.i686 p11-kit-0:0.25.3-2.el9.x86_64 p11-kit-server-0:0.25.3-2.el9.x86_64 php-ffi-0:8.0.30-1.el9_2.x86_64 python3-cffi-0:1.14.5-5.el9.x86_64 python3-gobject-base-0:3.40.1-6.el9.x86_64 python3-libs-0:3.9.18-3.el9.i686 python3-libs-0:3.9.18-3.el9.x86_64 python3.11-cffi-0:1.15.1-1.el9.x86_64 python3.11-libs-0:3.11.7-1.el9.i686 python3.11-libs-0:3.11.7-1.el9.x86_64 python3.12-cffi-0:1.16.0-2.el9.x86_64 python3.12-libs-0:3.12.1-4.el9.i686 python3.12-libs-0:3.12.1-4.el9.x86_64 ruby-libs-0:3.0.7-162.el9_4.i686 ruby-libs-0:3.0.7-162.el9_4.x86_64 thunderbird-0:115.11.0-1.el9_4.x86_64 Second, "core" is the default group that is selected when an install group is not mentioned. Using the attached kickstart, I had a fully functional system. libffi, ca-certificates, and even libreadline are there due to packages within "core" needing them. View the attached screenshots and you will see the installation completed and I am able to login and operate the system with zero issues. I'm failing to see how this is a bug. Setting to needinfo as more information of your build environment may be required, such as the full kickstart, repositories you are using, and so on. |
|
|
kickstart_bt7163.txt (3,275 bytes)
#version=RHEL9
# Reboot after installation
reboot
# Use text mode install
text
# Installation logging level
%post
cat << 'EOF' > /root/.vimrc
set background=dark
syntax on
EOF
cat << 'EOF' > /etc/skel/.vimrc
set background=dark
syntax on
EOF
# Required for PXE installs, otherwise the system does not boot
CURKER=$(grubby --default-kernel)
grubby --info=${CURKER} > /tmp/args
yum update -y
NEWKER=$(grubby --default-kernel)
source /tmp/args
grubby --args="root=/dev/mapper/rockyvg-root ${args}" --update-kernel="${NEWKER}"
grubby --remove-args="inst.repo inst.stage2 ip inst.ks" --update-kernel="${NEWKER}"
hostname > /etc/hostname
wget -q -O /tmp/fullNetSetup.sh http://10.100.0.1/fullNetSetup.sh
wget -q -O /usr/local/bin/setToStatic.sh http://10.100.0.1/setToStatic.sh
bash /tmp/fullNetSetup.sh
usermod -aG wheel nazu
# SUDO
cat << 'EOF' > /etc/sudoers.d/ansible
ansible ALL=(ALL) NOPASSWD: ALL
EOF
chmod 440 /etc/sudoers.d/ansible
# Ansible key
mkdir /home/ansible/.ssh
chmod 700 /home/ansible/.ssh
cat << 'EOF' > /home/ansible/.ssh/authorized_keys
ssh-rsa ...
ssh-ed25519 ...
EOF
chmod 600 /home/ansible/.ssh/authorized_keys
chown -R ansible:ansible /home/ansible/.ssh
yum config-manager --set-enabled crb
init 6
reboot
%end
%packages --ignoremissing
-iwl*-firmware
-plymouth*
-selinux-policy*
-xkeyboard-config
grub2-efi-x64
grub2-efi-x64-modules
grub2-tools-efi
efibootmgr
shim-x64
glibc-all-langpacks
epel-release
salt-minion
%end
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp
# Use network installation
url --url="http://dl.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os"
# Required for EPEL
repo --name="CRB" --baseurl=http://dl.rockylinux.org/pub/rocky/9/CRB/x86_64/os --cost=300
# Required for rpaste
repo --name="extras" --baseurl=http://dl.rockylinux.org/pub/rocky/9/extras/x86_64/os --cost=300
# Required for epel related packages
repo --name="epel" --baseurl=https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/ --cost=300
firstboot --disable
# Do not configure the X Window System
skipx
clearpart --all --initlabel --drives=sda
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=1024
part /boot/efi --fstype="efi" --ondisk=sda --size=600 --fsoptions="umask=0077,shortname=winnt"
part pv.111 --fstype="lvmpv" --ondisk=sda --size=32776
volgroup rockyvg --pesize=4096 pv.111
logvol / --fstype="xfs" --size=8192 --name=root --vgname=rockyvg
logvol /var/log/audit --fstype="xfs" --size=4096 --name=audit --vgname=rockyvg
logvol /home --fstype="xfs" --size=4096 --name=home --vgname=rockyvg --fsoptions="nodev"
logvol swap --fstype="swap" --size=4096 --name=swap --vgname=rockyvg
logvol /tmp --fstype="xfs" --size=4096 --name=tmp --vgname=rockyvg --fsoptions="nodev,noexec,nosuid"
logvol /var --fstype="xfs" --size=4096 --name=var --vgname=rockyvg
logvol /var/log --fstype="xfs" --size=4096 --name=log --vgname=rockyvg
# System timezone
timezone US/Arizona --utc
# Root password
rootpw --iscrypted ...
user --name=nazu --password=... --iscrypted --uid=1000 --gecos="Louis Abel" --gid=1000
user --name=ansible --uid=1100 --lock --gecos="Ansible Manager" --gid=1100
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
|
|
|
All of these things actually matter. A misconfiguration in any part of building a Rocky Linux system, especially the repositories, can cause unexpected behavior. With that said, using the url/repo configuration you have provided in your kickstart, the installation immediately fails, as you have explained. However, this behavior is not seen in normal circumstances. In normal circumstances, the default repositories (baseos, appstream, extras) would be used, where EPEL would be brought in as an additional (and common) option. In this case, you are also using a SaltStack repository. What can be seen is when this repository is used, packages end up being missing. The blame is being misplaced on Rocky Linux where it's actually the salt package that's the issue. Looking at the salt package, it seemingly "provides" a lot of things. In fact, it's a lot of things that would make it act as a dependency for critical base packages and can cause harm to RHEL, Rocky Linux, and other derivatives. # rpm -qp salt-3007.1-0.x86_64.rpm --provides | grep -E 'libffi|libreadline' warning: salt-3007.1-0.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 73d76b3f: NOKEY libffi.so.8()(64bit) libffi.so.8(LIBFFI_BASE_8.0)(64bit) libffi.so.8(LIBFFI_CLOSURE_8.0)(64bit) libffi.so.8(LIBFFI_COMPLEX_8.0)(64bit) libffi.so.8(LIBFFI_GO_CLOSURE_8.0)(64bit) libreadline.so.8()(64bit) # rpm -q libffi readline --provides | grep lib libffi = 3.4.2-8.el9 libffi(x86-64) = 3.4.2-8.el9 libffi.so.8()(64bit) libffi.so.8(LIBFFI_BASE_8.0)(64bit) libffi.so.8(LIBFFI_CLOSURE_8.0)(64bit) libffi.so.8(LIBFFI_COMPLEX_8.0)(64bit) libffi.so.8(LIBFFI_GO_CLOSURE_8.0)(64bit) libhistory.so.8()(64bit) libreadline.so.8()(64bit) With a bit of searching, there is an open bug on this: https://github.com/saltstack/salt/issues/66604 - This is apparently "fixed" in some commit, but not released. Based on the above, this is not a bug in Rocky Linux. Please work with the salt maintainers/contributors to resolve this issue. Closing. |
|
|
OMG, what a ridiculous bug at the salt side... Yeah, you have right, Thank you for look so deep inside! |
|
| Closing as this is/was a bug with SaltStack and Rocky Linux 9.5 has been released. | |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2024-06-13 19:43 | Norbert Hornyák | New Issue | |
| 2024-06-14 05:52 | Norbert Hornyák | Note Added: 0007496 | |
| 2024-06-18 19:21 | Norbert Hornyák | Note Added: 0007563 | |
| 2024-06-18 19:54 | Louis Abel | Assigned To | => Louis Abel |
| 2024-06-18 19:54 | Louis Abel | Status | new => needinfo |
| 2024-06-18 19:54 | Louis Abel | Note Added: 0007564 | |
| 2024-06-18 19:54 | Louis Abel | Note Added: 0007565 | |
| 2024-06-18 19:54 | Louis Abel | File Added: kickstart_bt7163.txt | |
| 2024-06-18 19:54 | Louis Abel | File Added: VirtualBoxVM_1I8Z0XbhOp.png | |
| 2024-06-18 19:54 | Louis Abel | File Added: VirtualBoxVM_j816mlXsDv.png | |
| 2024-06-18 19:54 | Louis Abel | File Added: VirtualBoxVM_LC5h6rSNqD.png | |
| 2024-06-18 19:54 | Louis Abel | File Added: VirtualBoxVM_VsD5nzyqAt.png | |
| 2024-06-19 19:50 | Louis Abel | Status | needinfo => closed |
| 2024-06-19 19:50 | Louis Abel | Resolution | open => not fixable |
| 2024-06-19 19:50 | Louis Abel | Note Added: 0007569 | |
| 2024-06-19 20:59 | Norbert Hornyák | Status | closed => feedback |
| 2024-06-19 20:59 | Norbert Hornyák | Resolution | not fixable => reopened |
| 2024-06-19 20:59 | Norbert Hornyák | Note Added: 0007570 | |
| 2024-06-19 21:00 | Norbert Hornyák | Status | feedback => assigned |
| 2024-11-27 01:33 | Louis Abel | Status | assigned => closed |
| 2024-11-27 01:33 | Louis Abel | Note Added: 0008913 |