So I was trying to figure out why the kadmin program (part of Kerberos) has line editing on F25 but not on F26. Turns out that line editing starts working if I install any one of install one of libreadline-devel, libedit-devel, compat-readline6 or compat-readline5.
It appears that the culprit is libss, which leads me here. In current Fedora, we have libreadline.so.7 but libss only tries to load libreadline.so.6 and libreadline.so.5. And for libedit, we have libedit.so.0 but libss tries to load libedit.so.2. It also tries to load libeditline.so.0 but I'm not sure anything in Fedora provides libeditline.
It will attempt to load these without versions as well (so just libedit.so, for example) which is why installing the devel packages works.
I guess each new library version has to be added manually, and things are out of date with respect to what's in F26 currently.
Sigh, I guess that's not the first time this hack has broken:
Author: Eric Sandeen <firstname.lastname@example.org>
Date: Mon Jan 25 22:19:38 2010 -0600
libss: add newer libreadline to dlopen path
Rawhide now has libreadline.so.6 ... add it to the ever-expanding
list of libs to look for.
Unfortunately without commit 06ef971be505678ee462ae1844204ed24f14aedc
this fails in a rather cryptic way.
Signed-off-by: Eric Sandeen <email@example.com>
Signed-off-by: "Theodore Ts'o" <firstname.lastname@example.org>
Created attachment 1323767 [details]
So I guess something like the attached patch would do the trick. Should find either libreadline or libedit in everything from F25 to today's rawhide.
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora 'version'
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.
Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
Sorry, I double checked and this is actually fixed on rawhide (but will need to be fixed again if libreadline.so.8 ever exists). It does seem to still be broken on F28, though.
Yup, this fix went into v1.44, but f28 appears to have 1.43.8. Rebasing f28 would not be a terrible idea.
This is such a crazy fragile arrangement. :(
Author: Lukas Czerner <email@example.com>
Date: Thu Feb 22 14:25:03 2018 +0100
libss: add newer libreadline.so.7 to dlopen path
Rawhide now has libreadline.so.7. Add it to the list of libs to look
Based on commit 4e79a19fe0b6dc3c2bd9cae9dfdbc5e96a3f98f8 for previous
Signed-off-by: Lukas Czerner <firstname.lastname@example.org>
Signed-off-by: Theodore Ts'o <email@example.com>
diff --git a/lib/ss/get_readline.c b/lib/ss/get_readline.c
index 9365be0..11c72b3 100644
@@ -37,7 +37,7 @@ static void ss_release_readline(ss_data *info)
/* Libraries we will try to use for readline/editline functionality */
-#define DEFAULT_LIBPATH "libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
+#define DEFAULT_LIBPATH "libreadline.so.7:libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
void ss_get_readline(int sci_idx)
Fair enough, f28 is fairly fresh still. So let's rebase to the latest and greatest 1.44.2
e2fsprogs-1.44.2-0.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ceebac37b8
e2fsprogs-1.44.2-0.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ceebac37b8
e2fsprogs-1.44.2-0.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.
I didn't get a chance to test this before it was pushed, but I can verify that it does help. Though the package release number should be '1', not '0' as releases less than 1 indicate a prerelease, and release is never allowed to be 0 in any case.