Bug #2150
[nonsystemd/util-linux] fdisk: can't find libreadline.so.7
100%
Description
Hello,
I can't run fdisk, because it says that I don't have libreadline.so.7. It seems that I have everything which is required, however:
# sudo fdisk fdisk: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory
$ pacman -Qs readline local/perl 5.28.1-1 (base) A highly capable, feature-rich programming language local/readline 8.0.0-1 GNU readline library
$ pacman -Qs fdisk local/gptfdisk 1.0.4-1 A text-mode partitioning tool that works on GUID Partition Table (GPT) disks local/libutil-linux 2.32-3.nonsystemd1 util-linux runtime libraries
$ pacman -Q util-linux util-linux 2.32-3.nonsystemd1
cfdisk works
running OpenRC linux-libre 4.20.0-gnu-1 #1 SMP PREEMPT Sun Jan 6 20:50:27 UTC 2019 x86_64 GNU/Linux
History
Updated by freemor over 5 years ago
Can't reproduce here. ut I'm on systemd and definitely have a different util-linux
Name : util-linux Version : 2.33.1-2 Description : Miscellaneous system utilities for Linux Architecture : x86_64 URL : https://www.kernel.org/pub/linux/utils/util-linux/ Licenses : GPL2 Groups : base base-devel Provides : rfkill Depends On : pam shadow coreutils libsystemd libcap-ng libutil-linux Optional Deps : python: python bindings to libmount [installed] words: default dictionary for look Required By : apr arch-install-scripts fakeroot gupnp jfsutils mkinitcpio ntfs-3g rasqal reiserfsprogs ring-daemon systemd systemd-udev Optional For : None Conflicts With : rfkill Replaces : rfkill Installed Size : 11.64 MiB Packager : Bartłomiej Piotrowski <bpiotrowski@archlinux.org> Build Date : Thu 10 Jan 2019 11:06:42 AM AST Install Date : Mon 14 Jan 2019 10:04:07 PM AST Install Reason : Explicitly installed Install Script : No Validated By : Signature
The thing that stands out right away though is that your fdisk is "local/" which means it is not the version from the repo. Maybe pacman -Su gptfdisk would fix you up?
Updated by freemor over 5 years ago
and your perl is "local/" too..
please make sure both of these are the proper version from the repo.
Updated by eschwartz about 5 years ago
"local" means that it is looking at your installation database as opposed to the sync repositories...
And pacman has no concept of where a package was installed from, only that it is installed. "local" always refers to the installation database, it's a reserved name and cannot be used to name a repository.
Now, it is clear parabola packages a second util-linux, see https://www.parabola.nu/packages/nonsystemd/x86_64/util-linux/
Downloading that tarball and running my linkages script (https://github.com/eli-schwartz/dotfiles/blob/master/bin/pkg-list-linked-libraries):
$ pkg-list-linked-libraries util-linux-2.32-3.nonsystemd1-x86_64.pkg.tar.xz libreadline ==> checking linked libraries for util-linux-2.32-3.nonsystemd1-x86_64.pkg.tar.xz ... /usr/bin/chfn NEEDED libreadline.so.7 /usr/bin/chsh NEEDED libreadline.so.7 /usr/bin/fdisk NEEDED libreadline.so.7 /usr/bin/sfdisk NEEDED libreadline.so.7
Evidently no one was keeping an eye on upstream archlinux rebuilds, specifically see https://lists.archlinux.org/pipermail/arch-dev-public/2019-January/029428.html
In addition to similar recent issues with libidn2 and ruby and suchlike, you will additionally need to find all parabola-specific packages which link to libreadline.so.7 and rebuild those.
Updated by freemor about 5 years ago
eschwartz Thanks for that Input. I'll be more careful befpore responding in the future.
Updated by nona about 5 years ago
eschwartz wrote:
In addition to similar recent issues with libidn2 and ruby and suchlike, you will additionally need to find all parabola-specific packages which link to libreadline.so.7 and rebuild those.
Thanks. I got a bit lost: is this comment meant for me? does this mean that installing them from the repo (pacman -S <package>) is not the solution, but building and installing them locally (makepkg; pacman -U *.pkg.tar.xz)? If building locally is required, how do I find all the packages that I would need?
Updated by bill-auger about 5 years ago
nona -
no, that was saying all parabola packages with those dependencies need to be rebuilt
Updated by bill-auger about 5 years ago
- Priority changed from bug to broken
- Subject changed from fdisk can't find libreadline.so.7 to [nonsystemd/fdisk]: can't find libreadline.so.7
Updated by bill-auger about 5 years ago
fdisk comes from arch core - that package is not broken - the one that needs rebuilding is the one in [nonsystemd]
unfortunately it is not possible to build this package because of one of those pesky systemd/udev conflicts that only lukeshu and megver understand - it appears that #2026 just became a high-priority issue
with [nonsystemd] repo disabled:
$ sudo libremakepkg .... | > resolving dependencies... | > looking for conflicting packages... | > :: eudev and systemd-udev are in conflict (udev). Remove systemd-udev? [y/N] error: unresolvable package conflicts detected | > error: failed to prepare transaction (conflicting dependencies) | > | > :: eudev and systemd-udev are in conflict
with [nonsystemd] repo enabled:
$ sudo libremakepkg .... | > resolving dependencies... | > looking for conflicting packages... | > :: eudev-libudev and systemd-libudev are in conflict (libudev). Remove systemd-libudev? [y/N] error: unresolvable package conflicts detected | > error: failed to prepare transaction (conflicting dependencies) | > | > :: eudev-libudev and systemd-libudev are in conflict
and trying to build the package outside the chroot looks like a very bad idea:
$ makepkg -s ==> Making package: util-linux 2.33.1-2.nonsystemd1 (Sun 27 Jan 2019 03:19:23 AM EST) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... :: eudev and systemd-udev are in conflict (udev). Remove systemd-udev? [y/N] y :: eudev-libudev and systemd-libudev are in conflict (libudev). Remove systemd-libudev? [y/N]
i also tried deleting and re-creating the chroot root replica fresh
maybe this package needs to be built on an openrc system ?
Updated by Megver83 about 5 years ago
- Status changed from open to in progress
- Subject changed from [nonsystemd/fdisk]: can't find libreadline.so.7 to [nonsystemd/util-linux] fdisk: can't find libreadline.so.7
don't worry guys, I'll upgrade nonsystemd/util-linux very soon
Updated by bill-auger about 5 years ago
but how do you do it megver? - does this package needs to be built on an openrc system ? - did i do something wrong, or does this package always require special treatment?
after the past month of lukeshu and ovruni being absent, it has become very noticeable how much of the system and tooling that only a few devs understand, and how many unknowns there would be for the others to learn in case of an emergency
in this case, if it is known that this package can never be built in the standard way, there should be comments in the PKGBUILD explaining what to do
Updated by Megver83 about 5 years ago
bill-auger wrote:
but how do you do it megver? - does this package needs to be built on an openrc system ? - did i do something wrong, or does this package always require special treatment?
The chroot must be fully free from systemd (not necessarily OpenRC, unless you want to build OpenRC pkgs). That is why it is better to have a nonsystemd-chroot to build non-systemd stuff.
after the past month of lukeshu and ovruni being absent, it has become very noticeable how much of the system and tooling that only a few devs understand, and how many unknowns there would be for the others to learn in case of an emergency
in this case, if it is known that this package can never be built in the standard way, there should be comments in the PKGBUILD explaining what to do
True. Could you write about in the mailing list? (btw, I think oaken-source does already)
Updated by bill-auger about 5 years ago
Megver83 wrote:
bill-auger wrote:
does this package needs to be built on an openrc system?
The chroot must be fully free from systemd (not necessarily OpenRC,
er confusion? - openrc is only one other init - yes? - so "fully free from systemd" implies "necessarily OpenRC" - doesnt it?
i think you were saying that if parabola had a third init, that could be used also - i assume that it is the purpose of the [nonsystemd] repo, to support multiple inits, whatever they may be; though today there is only one alternative to systemd
so today, this package does necessarily need to be built on an openrc system, because that is the only way today to boot parabola "fully free from systemd" - is that correct? - or maybe it is not important because the chroot does not need to boot nor start any services?
Updated by bill-auger about 5 years ago
Megver83 wrote:
Could you write about in the mailing list? (btw, I think oaken-source does already)
why are you asking me to write to the mailing list, couldnt you do that? - i dont really understand what you are asking me to write about
write about what? - whether there should be a new nonsystemd librechroot; or whether unconventional build procedures should be documented?
what does oaken-source do already? - does he build in a special chroot; or does he document unconventional build procedures?
there is an open bug ticket about modifying the i686 librechroot becuase many packages will not build without the [build-support] repo enabled - if the discussion is about a new nonsystemd librechroot, maybe we could just re-use that ticket for both https://labs.parabola.nu/issues/2140
do you think it would be better to have such discussions only on the mailing list and not on redmine? - i dont know whats more effective - i have never found it easy to get more than two parabola devs in on the same conversation
Updated by Megver83 about 5 years ago
bill-auger wrote:
Megver83 wrote:
bill-auger wrote:
does this package needs to be built on an openrc system?
The chroot must be fully free from systemd (not necessarily OpenRC,
er confusion? - openrc is only one other init - yes? - so "fully free from systemd" implies "necessarily OpenRC" - doesnt it?
i think you were saying that if parabola had a third init, that could be used also - i assume that it is the purpose of the [nonsystemd] repo, to support multiple inits, whatever they may be; though today there is only one alternative to systemd
so today, this package does necessarily need to be built on an openrc system, because that is the only way today to boot parabola "fully free from systemd" - is that correct? - or maybe it is not important because the chroot does not need to boot nor start any services?
We have a total of four inits:
- systemd
- openrc
- sysvinit
- runit
Updated by Megver83 about 5 years ago
- % Done changed from 0 to 100
- Status changed from in progress to fixed