[MDEV-24338] Unknown package depends on libmariadbclient-dev, should use libmariadb-dev (or -compat) Created: 2020-12-03  Updated: 2021-01-07  Resolved: 2021-01-07

Status: Closed
Project: MariaDB Server
Component/s: libmariadb
Affects Version/s: 10.5.8
Fix Version/s: N/A

Type: Bug Priority: Blocker
Reporter: Philip orleans Assignee: Otto Kekäläinen
Resolution: Not a Bug Votes: 0
Labels: development


 Description   

I have a criticall app that requires
libmariadbclient-dev
but it's impossible to find or install since it is not in the repositories

apt-get install libmariadbclient-dev
The following packages have unmet dependencies:
 libmariadbclient-dev : Depends: libmariadbclient18 (= 1:10.1.47-0ubuntu0.18.04.1) but 1:10.5.8+maria~bionic is to be installed
E: Unable to correct problems, you have held broken packages.
 
apt-cache policy libmariadbclient-dev
libmariadbclient-dev:
  Installed: (none)
  Candidate: 1:10.1.47-0ubuntu0.18.04.1
  Version table:
     1:10.1.47-0ubuntu0.18.04.1 500
        500 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
     1:10.1.29-6 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

so how do I solve this riddle? Each version should have its version of libmariadbclient-dev in the repository.



 Comments   
Comment by Philip orleans [ 2020-12-03 ]

aptitude -y install libmariadbclient-dev
The following NEW packages will be installed:
  libmariadbclient-dev{b} 
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1585 kB of archives. After unpacking 9683 kB will be used.
The following packages have unmet dependencies:
 libmariadbclient-dev : Depends: libmariadbclient18 (= 1:10.1.47-0ubuntu0.18.04.1) but 1:10.5.8+maria~bionic is installed
                        Conflicts: libmysqlclient-dev but it is not going to be installed
 libmariadb-dev : Breaks: libmariadbclient-dev but 1:10.1.47-0ubuntu0.18.04.1 is to be installed
The following actions will resolve these dependencies:
 
     Keep the following packages at their current version:
1)     libmariadbclient-dev [Not Installed]               

Comment by Sergei Golubchik [ 2021-01-07 ]

libmariadbclient-dev package doesn't exist since 10.2, we have libmariadb-dev that provides libmariadbclient-dev.

I would expect the package manager to install libmariadb-dev automatically for you, if your app depends on libmariadbclient-dev.

But in this case libmariadbclient-dev version 10.1.47 comes from bionic repos, while version 10.5.8 packages come from mariadb repos.

otto, is there some way to tell apt to do the right thing without manual apt install libmariadb-dev ?

Comment by Otto Kekäläinen [ 2021-01-07 ]

This is not a bug.

You are trying to install libmariadbclient-dev in Bionic, which tries to install MariaDB 10.1, but you have also enabled MariaDB 10.5 repositories. Logically, you should be using MariaDB 10.5 packages, which libmariadbclient-dev is not of. Instead you have libmariadb-dev (MariaDB Connector C, version 3).

What exactly is your `criticall app that requires libmariadbclient-dev`? It should either work directly with libmariadb-dev or if it expects to find a special name for a .so file you can install libmariadb-dev-compat.

Comment by Philip orleans [ 2021-01-07 ]

Please close the case. I solved the issue. the package is not necessary.

Generated at Thu Feb 08 09:29:14 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.