View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007163 | Rocky-Linux-9 | dnf | public | 2024-06-13 19:43 | 2024-06-19 21:00 |
Reporter | Norbert Hornyák | Assigned To | Louis Abel | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | assigned | 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! |
|
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 |