Jdk-openjdk and jre-openjdk are in conflict #2

Hi,

I have a similar issue as described here

but I am not able to solve it even with the information in the other support thread.

If I understand it correctly, the trick is to uninstall either of the conflicting jre or jdk in this situation:

sudo pacman -Syyu
[...]
looking for conflicting packages...
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: jdk-openjdk and jre-openjdk are in conflict

When I try to uninstall jre packages, I still get errors:

sudo pacman -R jre-openjdk                                                                                                                ξ‚² 1 ✘ 
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing jre-openjdk breaks dependency 'java-runtime' required by beanshell
:: removing jre-openjdk breaks dependency 'jre21-openjdk=21.u35-3' required by jdk-openjdk

How is the replacement jre->jdk meant to work if, as in the above beanshell dependency, it seems to be explitly ask for jre and not jdk?
Also the last line is somewhat weird in that jre is said to be replaced by jdk but jdk itself seems to be dependent on jre :thinking:

Also I get

sudo pacman -R jre-openjdk-headless
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing jre-openjdk-headless breaks dependency 'jre21-openjdk-headless=21.u35-3' required by jre-openjdk

I seem to have fundamentally misunderstood something, can sb help?

2 Likes

Please see:

This will (potentially) require a manual user action during upgrade:

  • if you have both JDK and JRE installed you can manually install the JDK
    with pacman -Sy jdk-openjdk and this removes the JRE related packages.
  • if you have both JRE and JRE-headless you will need to choose one of
    them and install it manually since they would conflict each other now.
  • If you only have one of the JDK/JRE/JRE-headless pacman should resolve
    dependencies normally and no action is needed.

At the moment this is only valid for the upcoming JDK 21 release.

https://archlinux.org/news/incoming-changes-in-jdk-jre-21-packages-may-require-manual-intervention/

9 Likes

I had thought I did all these things (implicitly with the upgrade command), but the first bullet point performs an explicit installation action which makes the difference, I do get now the de-installation of the jre package.
It’s the details, stupid, thank you very much, Richard!

1 Like

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.