Bug 1402023

Summary: while upgrading: /bin/sh: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory
Product: [Fedora] Fedora Reporter: customercare
Component: glibcAssignee: Carlos O'Donell <codonell>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 24CC: arjun.is, codonell, dj, fweimer, jakub, law, mfabian, pfrankli, siddhesh
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-06 15:29:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description customercare 2016-12-06 15:19:37 UTC
Description of problem:

while upgrading from FC23 to FC24 via DNF distor-sync, i got this error message from the glibc package:

...
  Aktualisieren    : nss-softokn-freebl-3.27.0-1.0.fc24.i686 47/2250 
  Aktualisieren    : bash-4.3.42-7.fc24.i686                 48/2250 
  Aktualisieren    : glibc-common-2.23.1-11.fc24.i686        49/2250 
  Installieren     : glibc-all-langpacks-2.23.1-11.fc24.i686 50/2250 
  Aktualisieren    : glibc-2.23.1-11.fc24.i686               51/2250 
/bin/sh: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory
Warnung: %triggerin(cronie-1.5.0-3.fc23.i686) Scriptlet fehlgeschlagen, Beenden-Status 127
Non-fatal <unknown> scriptlet failure in rpm package glibc
Non-fatal <unknown> scriptlet failure in rpm package glibc
  Aktualisieren    : libstdc++-6.2.1-2.fc24.i686             52/2250 
  Aktualisieren    : ncurses-libs-6.0-6.20160709.fc24.i686   53/2250 
...

Comment 1 Florian Weimer 2016-12-06 15:29:35 UTC
bash-4.3.42-7.fc24.i686 depends on the new version of ncurses-libs-6.0-6.20160709.fc24.i686, but bash is installed first.  This breaks scriptlet execution with bash.  I'm pretty sure there is a dependency cycle here (as far as RPM and its scriptlet execution engine is concerned), and DNF just broke it in a particularly visible way.

We can't get rid of such dependency cycles unless RPM implements delayed script execution.  With delayed script execution, scriptlets will only run after the dependencies have at least been unpacked.