Hi!
Recently a system update on my desktop machine failed because of unmet dependencies.
Two packages on my system have this requirement: “java-runtime=21”
Feeling pressured by the xz “event” i chose to do the very one thing that you are always warned about: i edited my pacman.conf to ignore “jdk-openjdk” from being updated. And i feel shitty about it.
Ok, i guess openjdk is not a crucial system library. Still i dont’t feel happy about this.
What is the preferred procedure in a situation like mine?
I also thought about manipulating the dependencies of the two packages to “java-runtime=22 ”. But i wouldn’t know how (where?) to do this. And it still would feel wrong.
I remember i’ve had the same problem with the exact same packages before and i chose to deinstall and (much) later reinstall those packages. However, this approach obviously feels inconvenient.
dalto
April 7, 2024, 1:52pm
2
Can you share the full output from the update so we can see the exact situation causing it?
This is a new output without any ignored packages in the pacman.conf.
The part about the error seems identical to the original output.
yay -Syu
Can’t open history
:: Paketdatenbanken werden synchronisiert …
core ist aktuell
extra 8,1 MiB 4,73 MiB/s 00:02 [########################################################] 100%
multilib ist aktuell
:: Durchsuche AUR nach Updates…
:: Durchsuche Datenbanken nach Updates…
→ Pakete nicht im AUR: arc-gtk-theme-eos endeavouros-keyring endeavouros-mirrorlist endeavouros-theming eos-apps-info eos-bash-shared eos-hooks eos-lightdm-slick-theme eos-log-tool eos-packagelist eos-qogir-icons eos-quickstart eos-rankmirrors eos-settings-cinnamon eos-translations eos-update-notifier js78 nvidia-hook nvidia-inst nvidia-installer-common welcome
→ Fehlende AUR Debug-Pakete: poker-odds-git-debug
→ Verwaiste (nicht gepflegte) AUR-Pakete: kjs
→ reflector-simple: lokales (2023-2) ist neuer als das AUR (3.3-1)
:: 13 Pakete zu upgraden/installieren.
13 core/hwdata 0.380-1 → 0.381-1
12 core/libnghttp2 1.60.0-1 → 1.61.0-1
11 core/linux 6.8.2.arch2-1 → 6.8.4.arch1-1
10 core/linux-headers 6.8.2.arch2-1 → 6.8.4.arch1-1
9 core/linux-lts 6.6.24-1 → 6.6.25-1
8 core/man-db 2.12.0-1 → 2.12.1-1
7 extra/geoip-database 20240309-1 → 20240406-1
6 extra/jdk-openjdk 21.0.2.u13-3 → 22.u36-1
5 extra/libunwind 1.8.1-1 → 1.8.1-2
4 extra/libx11 1.8.8-3 → 1.8.9-1
3 extra/libxmlb 0.3.16-1 → 0.3.17-1
2 extra/soundtouch 2.3.2-1 → 2.3.3-1
1 multilib/lib32-libnghttp2 1.60.0-1 → 1.61.0-1
==> Pakete zum Ausschließen: (z.B. “1 2 3”, “1-3”, “^4” oder Repo-Name)
→ Das Ausschließen von Paketen kann zu teilweisen Aktualisierungen führen und Systeme beschädigen.
==>
Sync Explicit (5): man-db-2.12.1-1, linux-6.8.4.arch1-1, jdk-openjdk-22.u36-1, linux-headers-6.8.4.arch1-1, linux-lts-6.6.25-1
Sync Dependency (8): libunwind-1.8.1-2, hwdata-0.381-1, geoip-database-20240406-1, lib32-libnghttp2-1.61.0-1, soundtouch-2.3.3-1, libx11-1.8.9-1, libnghttp2-1.61.0-1, libxmlb-0.3.17-1
:: Paketdatenbanken werden synchronisiert …
core ist aktuell
extra ist aktuell
multilib ist aktuell
:: Vollständige Systemaktualisierung wird gestartet …
Abhängigkeiten werden aufgelöst …
Nach in Konflikt stehenden Paketen wird gesucht …
Fehler: Vorgang konnte nicht vorbereitet werden (Kann Abhängigkeiten nicht erfüllen)
:: Installation von jdk-openjdk (22.u36-1) verletzt Abhängigkeit »java-runtime=21«, benötigt von mediathekview
:: Installation von jdk-openjdk (22.u36-1) verletzt Abhängigkeit »java-runtime=21«, benötigt von pdfsam
→ error installing repo packages
dalto
April 7, 2024, 2:10pm
4
What happens if you do this:
sudo pacman -Syu jre21-openjdk
That should install the new package that solves that dependency at the same time as the update to Java occurs.
1 Like
I have a hard time understanding how and why, but your solution worked.
Thanks!
1 Like
It looks like you have an additional problem.
Can you please post your pacman.conf. The error comes from the missing entry of the EndeavourOS repo
Oh, i admit i have somehow gotten used to this error.
And i don’t know when i first got aware of it nor do i know what changes i might have done to cause this.
pacman.conf
/etc/pacman.conf
See the pacman.conf(5) manpage for option and repository directives
GENERAL OPTIONS
[options]
The following paths are commented out with their default values listed.
If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
Pacman won’t upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
Misc options
#UseSyslog
#Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5
By default, pacman accepts packages signed by keys that its local keyring
trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
NOTE: You must run pacman-key --init
before first using pacman; the local
keyring can then be populated with the keys of all official Arch Linux
packagers with pacman-key --populate archlinux
.
REPOSITORIES
- can be defined here or included from another file
- pacman will search repositories in the order defined here
- local/custom mirrors can be added here or in separate files
- repositories listed first will take precedence when packages
have identical names, regardless of version number
- URLs will have $repo replaced by the name of the current repo
- URLs will have $arch replaced by the name of the architecture
Repository entries are of the format:
[repo-name]
Server = ServerName
Include = IncludePath
The header [repo-name] is crucial - it must be present and
uncommented to enable the repo.
The testing repositories are disabled by default. To enable, uncomment the
repo name header and Include lines. You can add preferred servers immediately
after the header, and they will be used before the default mirrors.
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
#[extra-testing]
#Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
If you want to run 32 bit applications on your x86_64 system,
enable the multilib repositories as required here.
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
An example of a custom package repository. See the pacman manpage for
tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
dalto
April 7, 2024, 8:44pm
8
It looks like you overwrote your EndeavourOS pacman.conf with an Arch one. You have to be careful when merging pacnew files.
You can fix it by overwriting it again with this command:
curl https://raw.githubusercontent.com/endeavouros-team/EndeavourOS-ISO/main/airootfs/etc/pacman.conf | sudo tee /etc/pacman.conf
That will replace it with the EOS version.
Embarrassing.
I generally don’t mess with package management, because it’s beyond my knowledge and it’s too easy to break things.
I have foggy memories of a tenacious problem, where i obviously went to an extreme solution.
Much thanks to both of you.
2 Likes
system
Closed
April 9, 2024, 9:10pm
10
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.