[Bioperl-l] [Extern] - Re: Support for MariaDB in Bio::DB:SeqFeature:Store::DBI::

Schlachter, Kai kai.schlachter at dkfz-heidelberg.de
Mon Sep 2 05:56:52 EDT 2024


Hello Peter,

Thanks for your reply.

Updating of the database server process itself was no issue, also the migration of the data in the database was nothing unusual – this is also something I already did many times before in other projects.

So the next step I did was trying to install DBD::mysql as per some of the error messages I got from the application, this module was missing (which was correct, as I started with a plain Debian container). So I tried to install, but first I needed to get the mysql-config tool installed:
apt-get install libmariadb-dev-compat

After that I tried again with:
cpanm install DBD::mysql

and this failed, with the errors in the log:
….
DBD::mysql requires MySQL 8.x or newer for building. Version reported by mysql_config --version
: 10.11.6 at Makefile.PL line 451, <PIPE> line 3.
-> N/A
-> FAIL Configure failed for DBD-mysql-5.008. See /root/.cpanm/work/1725256110.1036/build.log f
or details.
…..

As there is a DBD::MariaDB, I thought: Yes that one would most likely do the trick and I could actually install it. For this to be used I also needed to set the configuration in gbrowse to use the MariaDB Connector (which is ok because this is what I just installed). However this does not work out as gbrowse used Bio::DB:SeqFeature:Store::DBI::mysql and now tries to use Bio::DB:SeqFeature:Store::DBI::MariaDB which is a module that does not exist.

It might be that everything just works fine if I install the mysql libraries into the container, sourced from MySQL directly instead of relying on Debian packages that come out of the box. But this feels kind of an ugly workaround.

Greetings,

Kai

Von: Peter Cock <p.j.a.cock at googlemail.com>
Datum: Freitag, 30. August 2024 um 14:29
An: "Schlachter, Kai" <kai.schlachter at dkfz-heidelberg.de>
Cc: "bioperl-l at bioperl.org" <bioperl-l at bioperl.org>
Betreff: [Extern] - Re: [Bioperl-l] Support for MariaDB in Bio::DB:SeqFeature:Store::DBI::

Hello Kai,

Interesting question (although I'm viewing it from a Python and Biopython perspective).

https://mariadb.com/kb/en/upgrading-from-mysql-to-mariadb/ suggests this should
just work, with existing MySQL bindings treating MariaDB as a newer version.

It sounds like your set is breaking in the Perl module DBD::mysql?
https://metacpan.org/dist/DBD-mysql

Looking at the change log there are entries from this year, and multiple mentions
of MariaDB - so I would expect this to work:
https://metacpan.org/release/DVEEDEN/DBD-mysql-5.008/source/Changes

Can you take a look at their issue tracker https://github.com/perl5-dbi/DBD-mysql
and see if you've hit a known issue?

Also can you double check the version of DBD::mysql you have installed?

Peter



On Fri, Aug 30, 2024 at 12:15 PM Schlachter, Kai <kai.schlachter at dkfz-heidelberg.de<mailto:kai.schlachter at dkfz-heidelberg.de>> wrote:
Hi there,

I took over an older project to modernize the underlaying hardware / software.
This also involves the use of gbrowse, which in turn relies quite a lot on BioPerl.

As our freshly provided servers are all Debian based and we are highly encouraged to use a most recent version of Debian inside of our containers (docker), I ran into the following issue:
Debian no longer supports MySQL but has switched to MariaDB, which leads me to the following:

I tried to install gbrowse, resolving all the dependencies and stuff that came along. I also was able to compile the DBD::MariaDB as this is the required module for MariaDB-Connections.
However I was not able to find a Module in Bio::DB:SeqFeature:Store::DBI called MariaDB, there is only Mysql :(
Although both adaptors should share at least some basic functionality, it is not possible to install the Mysql-Version on a recent Debian because DBD::MySQL will refuse to work with mariadb because of a version mismatch (expected 8.x but reported 10.y).

Are there any plans / ideas to add mariadb support to the modules?
I am not an original perl programmer so I don’t think it’s a good idea to start implementing / contributing with such a complex thing.

Greetings,

Kai
_______________________________________________
Bioperl-l mailing list
Bioperl-l at bioperl.org<mailto:Bioperl-l at bioperl.org>
https://mailman.open-bio.org/mailman/listinfo/bioperl-l
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.open-bio.org/pipermail/bioperl-l/attachments/20240902/a1e94a90/attachment.htm>


More information about the Bioperl-l mailing list