Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-2804

LP:463161 - Centos MariaDB package dependency problems for libmysqlclient15.so

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      Here is my understanding of the problem after some discussions. Someone please
      correct me if anything is incorrect or incomplete.

      On Centos 5, there is a base package called "mysql". This package includes
      libmysqlclient.so.15, which is a dependency of many other packages (anything
      that needs to connect to MySQL, for example DBD::mysql).

      The base package "mysql" also includes client programs, like /usr/bin/mysql.

      Since MariaDB also includes /usr/bin/mysql, it conflicts with the base "mysql"
      package and has to replace it. However, MariaDB does not include
      libmysqlclient.so.15. It has libmysqlclient16.so (difference between MySQL 5.0
      and MySQL 5.1).

      So the root problem seems to be that the base "mysql" package in Centos should
      have been split, with a seperate package 'libmysqlclient15' containing the
      client library, like it is done in eg. Ubuntu. Since this is not the case, any
      package that wants to replace /usr/bin/mysql needs to somehow provide
      libmysqlclient.so.15. Otherwise any installed 3rd party package build against
      the libmysqlclient.so.15 will break when installing MariaDB.

      Proposed solution:

      Ourdelta already provides builds based on MySQL 5.0, which includes
      libmysqlclient.so.15. In these builds, the libmysqlclient.so.15 could be split
      into a separate package libmysqlclient15-ourdelta (say), which does not
      contain any other binaries like /usr/bin/mysql. Or maybe this split is already
      done, don't know.

      Then the MariaDB packages could provide/replace the base 'mysql' package, but
      depend on 'libmysqlclient15-ourdelta' (or whatever it is called). This would
      then make sure that both libmysqlclient.so.15 (for old packages) and
      libmysqlclient.so.16 (for MariaDB stuff) are available.

      The reason I suggest pulling in a 5.0-based ourdelta package from a separate
      build is that we need the MariaDB packaging fully automated in Buildbot. This
      is much harder if we have to pull in some magic .so file from another location
      or build a separate mysql 5.0 tree as part of the 5.1 build.

      Attachments

        Activity

          People

            Unassigned Unassigned
            knielsen Kristian Nielsen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.