-
Bug
-
Resolution: Can't Do
-
Major
-
None
-
rhel-8.6.0
-
None
-
Important
-
rhel-sst-idm-cs
-
ssg_idm
-
None
-
False
-
-
None
-
None
-
None
-
None
-
If docs needed, set a value
-
-
All
-
None
Description of problem:
If there is jss package installed on the system , whenever we enable maven:3.6 and update the system, we see dependency error.
This appears to be happening because of issue described in the below bug - https://bugzilla.redhat.com/show_bug.cgi?id=2091862 related the dependency with `slf4j` and `slf4j-jdk14` not having the same 1.7.28 version.
~~~
Error:
Problem: problem with installed package jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64
- cannot install the best update candidate for package jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64
- package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires slf4j, but none of the providers can be installed
- cannot install the best update candidate for package slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
- package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires slf4j-jdk14, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch
- package slf4j-1.7.25-4.module+el8+2598+06babf2e.noarch is filtered out by modular filtering
- package slf4j-jdk14-1.7.25-4.module+el8+2598+06babf2e.noarch is filtered out by modular filtering
- package slf4j-1.7.25-4.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
(try to add '-skip-broken' to skip uninstallable packages or '-nobest' to use not only best candidate packages)
The module set up is mostly default on my system with only `javapackages-runtime` because I have open jdk installed.
~~~
- dnf module list pki* java* maven
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:48 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name Stream Profiles Summary
javapackages-runtime 201801 [d][e] common [d] Basic runtime utilities to support Java applications
maven 3.5 [d] common [d] Java project management and project comprehension tool
maven 3.6 common [d] Java project management and project comprehension tool
pki-core 10.6 [e] PKI Core module for PKI 10.6 or later
pki-deps 10.6 [e] PKI Dependencies module for PKI 10.6 or later
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
~~~
Based on what I have understood , this happens because of the below reason,
Due to the jss package require the slf4j and the slf4j-jdk14 package and the dependency change in the jss upgrade from `apache-commons-lang` to `apache-commons-lang3`
~~~
- rpm -qRp jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64.rpm | grep -e slf4j -e apache-commons-lang
apache-commons-lang
slf4j
slf4j-jdk14
- rpm -qRp jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64.rpm | grep -e slf4j -e apache-commons-lang
apache-commons-lang3
slf4j
slf4j-jdk14
~~~
The current available jss packages is only available through `pki-core` module.
~~~
- dnf module provides jss | grep -e jss -e Module
jss-4.5.0-1.module+el8+2467+468c375c.x86_64
Module : pki-core:10.6:820190128182152:5a87be8a:x86_64
jss-4.6.0-5.module+el8.1.0+4218+3fd65c36.x86_64
Module : pki-core:10.6:8010020190912123424:8ba0ffbe:x86_64
jss-4.6.2-4.module+el8.2.0+6123+b4678599.x86_64
Module : pki-core:10.6:8020020200326162741:c7c3114f:x86_64
jss-4.6.2-6.module+el8.2.0+6305+445d7b5a.x86_64
Module : pki-core:10.6:8020020200415160802:bbc64e6e:x86_64
jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64
Module : pki-core:10.6:8030020200911215836:5ff1562f:x86_64
jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64
Module : pki-core:10.6:8030020210315205745:e0223e2d:x86_64
jss-4.8.1-2.module+el8.4.0+10451+3e5b5448.x86_64
Module : pki-core:10.6:8040020210324135707:d4d99205:x86_64
jss-4.8.1-2.module+el8.4.0+10451+3e5b5448.x86_64
Module : pki-core:10.6:8040020210519185901:17df0a3f:x86_64
jss-4.9.1-1.module+el8.5.0+12710+1c6f9ceb.x86_64
Module : pki-core:10.6:8050020210924095114:01d2cef5:x86_64
jss-4.9.1-1.module+el8.5.0+12710+1c6f9ceb.x86_64
Module : pki-core:10.6:8050020220111200158:3246ec52:x86_64
jss-4.9.1-1.module+el8.5.0+12710+1c6f9ceb.x86_64
Module : pki-core:10.6:8050020220309211426:3246ec52:x86_64
jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64
Module : pki-core:10.6:8060020220215143656:7e0b02f6:x86_64
~~~
And the `apache-commons-lang3` is available only through one of the maven module present.
~~~
- dnf module provides apache-commons-lang3 | grep -e apache-common -e Module
apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch
Module : maven:3.5:8060020211117110044:c0229ad2:x86_64
apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch
Module : maven:3.5:8060020220428102527:219351c9:x86_64
apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch
Module : maven:3.5:820181213140354:5ea3b708:x86_64
apache-commons-lang3-3.9-4.module+el8.2.0+5557+11a14461.noarch
Module : maven:3.6:8020020200125185948:af5e9d52:x86_64
apache-commons-lang3-3.9-4.module+el8.3.0+6804+157bd82e.noarch
Module : maven:3.6:8030020200527152730:a623df05:x86_64
apache-commons-lang3-3.9-4.module+el8.3.0+6804+157bd82e.noarch
Module : maven:3.6:8040020201224090117:14342f08:x86_64
apache-commons-lang3-3.9-4.module+el8.6.0+13337+afcb49ec.noarch
Module : maven:3.6:8060020211119162118:5dbfe8be:x86_64
apache-commons-lang3-3.9-4.module+el8.6.0+13337+afcb49ec.noarch
Module : maven:3.6:8060020220428115217:32bfc089:x86_64
~~~
Version-Release number of selected component (if applicable):
jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64
slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
How reproducible:
Every time , when maven:3.6 is enabled along with jss package.
Steps to Reproduce:
-
- Scenario 1 - Installing then enabling maven:3.6
By default on installation of jss on the system it enabled maven:3.5 because of maven:3.5 set to default.
~~~
- dnf install jss
Updating Subscription Management repositories.
Last metadata expiration check: 0:05:31 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
Dependencies resolved.
=================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================
Installing:
jss x86_64 4.9.3-1.module+el8.6.0+14244+60d461b7 rhel-8-for-x86_64-appstream-rpms 1.2 M
Installing dependencies:
apache-commons-lang3 noarch 3.7-3.module+el8+2452+b359bfcd rhel-8-for-x86_64-appstream-rpms 483 k
glassfish-jaxb-api noarch 2.2.12-8.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 102 k
javapackages-tools noarch 5.3.0-1.module+el8+2447+6f56d9a6 rhel-8-for-x86_64-appstream-rpms 44 k
slf4j noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 77 k
slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 25 k
Enabling module streams:
maven 3.5
Transaction Summary
=================================================================================================================================================
Install 6 Packages
Total download size: 1.9 M
Installed size: 2.4 M
~~~
Switching to maven:3.6 causes its possible to switch but here because `slf4j-jdk14` package is the dependency and the `slf4j` package here in the maven 3.6 repo contains only new 1.7.28 for which the corresponding `slf4j-jdk14` is not available. This is also referenced in BZ - https://bugzilla.redhat.com/show_bug.cgi?id=2091862
~~~
- dnf module switch-to maven:3.6 --allowerasing
Updating Subscription Management repositories.
Last metadata expiration check: 0:06:50 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
Dependencies resolved.
=================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================
Upgrading:
apache-commons-lang3 noarch 3.9-4.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 493 k
slf4j noarch 1.7.28-3.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 77 k
Installing dependencies:
apache-commons-codec noarch 1.13-3.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 300 k
apache-commons-lang noarch 2.6-21.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 283 k
Removing dependent packages:
slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 @rhel-8-for-x86_64-appstream-rpms 11 k
Downgrading:
jss x86_64 4.5.0-1.module+el8+2467+468c375c rhel-8-for-x86_64-appstream-rpms 1.1 M
Switching module streams:
maven 3.5 -> 3.6
Transaction Summary
=================================================================================================================================================
Install 2 Packages
Upgrade 2 Packages
Remove 1 Package
Downgrade 1 Package
~~~
- dnf update --allowerasing
Updating Subscription Management repositories.
Last metadata expiration check: 0:07:53 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
Error:
Problem: problem with installed package jss-4.5.0-1.module+el8+2467+468c375c.x86_64
- cannot install the best update candidate for package jss-4.5.0-1.module+el8+2467+468c375c.x86_64
- package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires slf4j-jdk14, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
- cannot install both slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
- cannot install both slf4j-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
- cannot install both slf4j-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
- cannot install both slf4j-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
- package slf4j-1.7.25-4.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
- cannot install the best update candidate for package slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
- problem with installed package slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
(try to add '-skip-broken' to skip uninstallable packages or '-nobest' to use not only best candidate packages)
~~~
-
- Scenario 2 - First enabling maven:3.6 and then install jss
~~~
- dnf module enable maven:3.6
Updating Subscription Management repositories.
Last metadata expiration check: 0:14:49 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
Dependencies resolved.
=================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================
Enabling module streams:
maven 3.6
Transaction Summary
=================================================================================================================================================
Is this ok [y/N]: y
Complete!
~~~
Here it installed in the `slf4j` and `slf4j` package installed from the `pki-deps` dnf module.
~~~
- dnf install jss
Updating Subscription Management repositories.
Last metadata expiration check: 0:15:04 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
Dependencies resolved.
=================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================
Installing:
jss x86_64 4.9.3-1.module+el8.6.0+14244+60d461b7 rhel-8-for-x86_64-appstream-rpms 1.2 M
Installing dependencies:
apache-commons-lang3 noarch 3.9-4.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 493 k
glassfish-jaxb-api noarch 2.2.12-8.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 102 k
javapackages-tools noarch 5.3.0-1.module+el8+2447+6f56d9a6 rhel-8-for-x86_64-appstream-rpms 44 k
slf4j noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 77 k
slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 25 k
Transaction Summary
=================================================================================================================================================
Install 6 Packages
Total download size: 1.9 M
Installed size: 2.4 M
Is this ok [y/N]: y
~~~
However , now that maven:3.6 has the never version of slf4j i.e. `1.7.28` available it fails to update it because corresponding slf4j-jdk14 version `1.7.28` is not available
~~~
- dnf update
Updating Subscription Management repositories.
Last metadata expiration check: 0:15:34 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
Error:
Problem: package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can
be installed
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch
- cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch
- cannot install the best update candidate for package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch
- cannot install the best update candidate for package slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
- package slf4j-1.7.25-4.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
(try to add '-allowerasing' to command line to replace conflicting packages or 'skip-broken' to skip uninstallable packages or '-nobest' to u
se not only best candidate packages)
~~~
-
- Scenario 3 - Disabling maven completely
If we completely disable maven, then we get error because the latest `jss` package needs needs `apache-commons-lang3` which is only available through maven:3.5 or maven:3.6 module
~~~
- dnf module disable maven
Updating Subscription Management repositories.
Last metadata expiration check: 0:01:03 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
Dependencies resolved.
=================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================
Disabling modules:
maven
Transaction Summary
=================================================================================================================================================
Is this ok [y/N]: y
Complete!
- dnf install jss
Updating Subscription Management repositories.
Last metadata expiration check: 0:01:53 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
Error:
Problem: package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires apache-commons-lang3, but none of the providers can be installed
- cannot install the best candidate for the job
- package apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
- package apache-commons-lang3-3.9-4.module+el8.2.0+5557+11a14461.noarch is filtered out by modular filtering
- package apache-commons-lang3-3.9-4.module+el8.3.0+6804+157bd82e.noarch is filtered out by modular filtering
- package apache-commons-lang3-3.9-4.module+el8.6.0+13337+afcb49ec.noarch is filtered out by modular filtering
(try to add '-skip-broken' to skip uninstallable packages or '-nobest' to use not only best candidate packages)
~~~
While due to the dependency change, in recent version of jss requiring `apache-common-lang3` instead of `apache-common-lang` if we exclude the recent jss package.
We can get the packages installed. However a `dnf update` will result in the error again.
~~~
- dnf install jss --exclude=jss-4.[89]*
Updating Subscription Management repositories.
Last metadata expiration check: 0:03:33 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
Dependencies resolved.
=================================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================================
Installing:
jss x86_64 4.7.3-1.module+el8.3.0+8058+d5cd4219 rhel-8-for-x86_64-appstream-rpms 1.2 M
Installing dependencies:
apache-commons-lang noarch 2.6-21.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 283 k
glassfish-jaxb-api noarch 2.2.12-8.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 102 k
javapackages-tools noarch 5.3.0-1.module+el8+2447+6f56d9a6 rhel-8-for-x86_64-appstream-rpms 44 k
slf4j noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 77 k
slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 25 k
Transaction Summary
=================================================================================================================================================
Install 6 Packages
Total download size: 1.7 M
Installed size: 2.1 M
~~~
Actual results:
Dependency conflict occurs with jss packages when maven:3.6 is enable.
Expected results:
Dependency conflict should not occurs with jss packages when maven:3.6 is enabled.
Also since jss is part of the pki-core module, if we are not expected to use the maven:3.6 with this, then the `slf4j-jdk14` and `slf4j` and `apache-common-lang3` should be distributed as part of pki-deps. This way even on disabling maven the installation would go through.
Additional info:
See also BZ - https://bugzilla.redhat.com/show_bug.cgi?id=2091862 which discuss about `slf4j-jdk14` and `slf4j` packages.
In addition to that , the reason for switching maven:3.5 to maven:3.6 is also due to the fact that maven:3.55 is EOL as of now.
~~~
Application Stream Release Date Retirement Date Release
maven 3.6 May 2020 Apr 2023 8.2.0
maven 3.5 May 2019 May 2022 8.0.0
~~~