Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 10.0.9
-
Fix Version/s: 10.0.20
-
Component/s: Packaging, Platform Debian
-
Labels:
Description
Ubuntu recently released MariaDB 5.5.36 in their trusty-updates universe repo.
Now, if some MariaDB 5.5 is installed on the machine (either MariaDB's or Ubuntu's package), and if trusty-updates universe repo is present in sources.list (which it is by default), MariaDB 10.0 cannot be installed in a normal way:
dpkg -l | grep -i maria ii libmariadbclient18:amd64 5.5.36-1 amd64 MariaDB database client library ii mariadb-client-5.5 5.5.36-1 amd64 MariaDB database client binaries ii mariadb-client-core-5.5 5.5.36-1 amd64 MariaDB database core client binaries ii mariadb-common 5.5.36-1 all MariaDB common metapackage ii mariadb-server 5.5.36-1 all MariaDB database server (metapackage depending on the latest version) ii mariadb-server-5.5 5.5.36-1 amd64 MariaDB database server binaries ii mariadb-server-core-5.5 5.5.36-1 amd64 MariaDB database core server files
sudo apt-get install mariadb-server Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: mariadb-server : Depends: mariadb-server-10.0 (= 10.0.9+maria-1~trusty) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
sudo apt-get install mariadb-server-10.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mariadb-server-10.0 : Depends: mariadb-client-10.0 (>= 10.0.9+maria-1~trusty) but it is not going to be installed
Depends: mariadb-server-core-10.0 (>= 10.0.9+maria-1~trusty) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
sudo apt-get install mariadb-client-10.0 Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: mariadb-client-10.0 : Depends: mariadb-client-core-10.0 (>= 10.0.9+maria-1~trusty) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
However, installing core packages separately works, and they pull the rest along with them:
sudo apt-get install mariadb-server-core-10.0 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libjemalloc1 mariadb-client-5.5 mariadb-client-core-5.5 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: libmariadbclient18 libmysqlclient18 mariadb-client-5.5 mariadb-client-core-5.5 mysql-common The following packages will be REMOVED: mariadb-server mariadb-server-5.5 mariadb-server-core-5.5 The following NEW packages will be installed: mariadb-server-core-10.0 The following packages will be upgraded: libmariadbclient18 libmysqlclient18 mariadb-client-5.5 mariadb-client-core-5.5 mysql-common 5 upgraded, 1 newly installed, 3 to remove and 896 not upgraded. Need to get 11,9 MB of archives.
sudo apt-get install mariadb-client-core-10.0 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libjemalloc1 mariadb-client-10.0 mariadb-server-core-5.5 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: libmariadbclient18 libmysqlclient18 mysql-common The following packages will be REMOVED: mariadb-client-5.5 mariadb-client-core-5.5 mariadb-server mariadb-server-5.5 The following NEW packages will be installed: mariadb-client-core-10.0 The following packages will be upgraded: libmariadbclient18 libmysqlclient18 mysql-common 3 upgraded, 1 newly installed, 4 to remove and 897 not upgraded. Need to get 1 344 kB of archives.
...
ii libmariadbclient18 10.0.9+maria-1~trusty amd64 MariaDB database client library ii mariadb-client-10.0 10.0.9+maria-1~trusty amd64 MariaDB database client binaries rc mariadb-client-5.5 5.5.36-1 amd64 MariaDB database client binaries ii mariadb-client-core-10.0 10.0.9+maria-1~trusty amd64 MariaDB database core client binaries ii mariadb-common 5.5.36-1 all MariaDB common metapackage ii mariadb-server 10.0.9+maria-1~trusty all MariaDB database server (metapackage depending on the latest version) ii mariadb-server-10.0 10.0.9+maria-1~trusty amd64 MariaDB database server binaries rc mariadb-server-5.5 5.5.36-1 amd64 MariaDB database server binaries ii mariadb-server-core-10.0 10.0.9+maria-1~trusty amd64 MariaDB database core server files ii mysql-common 10.0.9+maria-1~trusty all MariaDB database common files (e.g. /etc/mysql/my.cnf)
Just in case it helps, here is some information about packages on which installation breaks:
sudo apt-cache show mariadb-server-10.0 Package: mariadb-server-10.0 Source: mariadb-10.0 Version: 10.0.9+maria-1~trusty Architecture: amd64 Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net> Installed-Size: 73372 Pre-Depends: mariadb-common, adduser (>= 3.40), debconf Depends: mariadb-client-10.0 (>= 10.0.9+maria-1~trusty), libdbi-perl, perl (>= 5.6), libaio1 (>= 0.3.93), libc6 (>= 2.17), libpam0g (>= 0.99.7.1), libssl1.0.0 (>= 1.0.0), libstdc++6 (>= 4.6), zlib1g (>= 1:1.2.0), debconf (>= 0.5) | debconf-2.0, psmisc, passwd, lsb-base (>= 3.0-10), mariadb-server-core-10.0 (>= 10.0.9+maria-1~trusty) Recommends: libhtml-template-perl Suggests: tinyca, mailx, mariadb-test Conflicts: mariadb-server (<< 10.0.9+maria-1~trusty), mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-tokudb-engine-10.0, mariadb-tokudb-engine-5.5, mysql-server (<< 10.0.9+maria-1~trusty), mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5 Replaces: libmariadbclient-dev (<< 5.5.0), libmariadbclient16 (<< 5.3.4), mariadb-server (<< 10.0.9+maria-1~trusty), mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-tokudb-engine-10.0, mariadb-tokudb-engine-5.5, mysql-server (<< 10.0.9+maria-1~trusty), mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5 Provides: mariadb-server, mysql-server, virtual-mysql-server
Our mariadb-server-5.5:
sudo apt-cache show mariadb-server-5.5 Package: mariadb-server-5.5 Source: mariadb-5.5 Version: 5.5.36+maria-1~saucy Architecture: amd64 Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net> Installed-Size: 66523 Pre-Depends: mariadb-common, adduser (>= 3.40), debconf Depends: mariadb-client-5.5 (>= 5.5.36+maria-1~saucy), libdbi-perl, perl (>= 5.6), libaio1 (>= 0.3.93), libc6 (>= 2.17), libpam0g (>= 0.99.7.1), libssl1.0.0 (>= 1.0.0), libstdc++6 (>= 4.6), zlib1g (>= 1:1.2.0), debconf (>= 0.5) | debconf-2.0, psmisc, passwd, lsb-base (>= 3.0-10), mariadb-server-core-5.5 (>= 5.5.36+maria-1~saucy) Recommends: libhtml-template-perl Suggests: tinyca, mailx, mariadb-test Conflicts: mariadb-server (<< 5.5.36+maria-1~saucy), mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-tokudb-engine-5.5, mysql-server (<< 5.5.36+maria-1~saucy), mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5 Replaces: libmariadbclient-dev (<< 5.5.0), libmariadbclient16 (<< 5.3.4), mariadb-server (<< 5.5.36+maria-1~saucy), mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-tokudb-engine-5.5, mysql-server (<< 5.5.36+maria-1~saucy), mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5 Provides: mariadb-server, mysql-server, virtual-mysql-server Homepage: http://mariadb.org/ Priority: optional Section: misc Filename: pool/main/m/mariadb-5.5/mariadb-server-5.5_5.5.36+maria-1~saucy_amd64.deb
Ubuntu's mariadb-server-5.5:
Package: mariadb-server-5.5 Priority: optional Section: universe/database Installed-Size: 64356 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org> Architecture: amd64 Source: mariadb-5.5 Version: 5.5.36-1 Replaces: mariadb-galera-server, mariadb-galera-server-5.5, mariadb-tokudb-engine-10.0, mariadb-tokudb-engine-5.5, mysql-server, mysql-server-5.5, mysql-server-5.6, virtual-mysql-server Provides: virtual-mysql-server Depends: libdbi-perl, lsb-base (>= 3.0-10), mariadb-client-5.5 (>= 5.5.36-1), mariadb-server-core-5.5 (>= 5.5.36-1), passwd, perl (>= 5.6), psmisc, debconf (>= 0.5) | debconf-2.0, libaio1 (>= 0.3.93), libc6 (>= 2.17), libpam0g (>= 0.99.7.1), libssl1.0.0 (>= 1.0.0), libstdc++6 (>= 4.6), zlib1g (>= 1:1.2.0) Pre-Depends: adduser (>= 3.40), debconf, mariadb-common Recommends: libhtml-template-perl Suggests: mailx, mariadb-test, tinyca Conflicts: mariadb-tokudb-engine-10.0, mariadb-tokudb-engine-5.5, mysql-server-core-5.5, mysql-server-core-5.6 Breaks: mariadb-galera-server, mariadb-galera-server-5.5, mariadb-tokudb-engine-10.0, mariadb-tokudb-engine-5.5, mysql-server, mysql-server-5.5, mysql-server-5.6, virtual-mysql-server Filename: pool/universe/m/mariadb-5.5/mariadb-server-5.5_5.5.36-1_amd64.deb
My best guess is that it has something to do with what MariaDB 5.5 provides and what MariaDB 10.0 replaces/conflicts with.
Gliffy Diagrams
Attachments
Issue Links
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
This turned out to be a rather complex chaing of conflicting 'Conflicts' and 'Provides' in the control file and between two generations of Debian packaging (old in mariadb.org and new in Debian/Ubuntu). Instead of doing a risky fix quickly, I suggest just to release as is, and put this in release notes: