The mariadb-connector-c-devel package from the standard RHEL 8 repo conflicts with MariaDB's packages. e.g.:
# dnf -y update ;
|
Last metadata expiration check: 0:04:17 ago on Tue 18 Aug 2020 02:03:54 PM EDT.
|
Error:
|
Problem: package mariadb-connector-c-devel-3.0.7-1.el8.x86_64 requires mariadb-connector-c = 3.0.7-1.el8, but none of the providers can be installed
|
- package MariaDB-shared-10.5.5-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.0.7-1.el8.x86_64
|
- package MariaDB-shared-10.5.5-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.0.7-1.el8.i686
|
- cannot install the best update candidate for package mariadb-connector-c-devel-3.0.7-1.el8.x86_64
|
- cannot install the best update candidate for package mariadb-connector-c-3.0.7-1.el8.x86_64
|
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
|
This was first reported here:
https://mariadb.com/kb/en/odd-mariadb-connector-c-error-on-update/
As far as I can tell, it looks like the problem is that our MariaDB-devel package should take precedence over the mariadb-connector-c-devel package from the standard RHEL 8 repo, but it currently doesn't.
We solved a similar problem for the MariaDB-devel package by making mariadb-connector-c an "alternative name" for the MariaDB-devel package:
ELSEIF(RPM MATCHES "(rhel|centos)8")
|
...
|
ALTERNATIVE_NAME("shared" "mariadb-connector-c" ${MARIADB_CONNECTOR_C_VERSION}-1)
|
ALTERNATIVE_NAME("shared" "mariadb-connector-c-config" ${MARIADB_CONNECTOR_C_VERSION}-1)
|
...
|
ENDIF()
|
https://github.com/MariaDB/server/blob/mariadb-10.5.5/cmake/cpack_rpm.cmake#L238
I suspect that we need a similar rule to add mariadb-connector-c-devel as an alternative name for the MariaDB-devel package.
we have the same issue with 10.4:
# dnf -y install MariaDB-devel ;
Last metadata expiration check: 0:02:17 ago on Wed 19 Aug 2020 03:30:45 PM UTC.
All matches were filtered out by modular filtering for argument: MariaDB-devel
* Maybe you meant: mariadb-devel ;
Error: Unable to find a match: MariaDB-devel
# dnf -y install mariadb-devel
Running transaction check
Transaction check succeeded.
Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction test error:
file /usr/lib64/libmariadb.so.3 conflicts between attempted installs of MariaDB-shared-10.4.12-1.el8.x86_64 and mariadb-connector-c-3.0.7-1.el8.x86_64
EDIT: same issue with 10.3...? 10.3 was first released on 2017-04-16 - i get the feeling that mariadb-connector-c is not maintained anymore?