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

Peter Cock <[email protected]> Tue, 3 Sep 2024 12:35:50 +0100
Newsgroups gmane.comp.lang.perl.bio.general
Message-ID <CAKVJ-_40mDS1ywc2OXaHkj-yj4-VZV9oU4sNm1fHCD3c2vdbMQ@mail.gmail.com>
--===============2211814553949967900==
Content-Type: multipart/alternative; boundary="0000000000004c623406213576f6"

--0000000000004c623406213576f6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

It sounds to me (as an interested third party observer of BioPerl), that
there
is value in adding a MariaDB module to Bio::DB:SeqFeature:Store::DBI
even if it is as simple as an alias or near copy of the MySQL module?

It also sounds like a bug in DBD::MySQL if it refuses to work with version
10 (from MariaDB) by insisting on version 8. Do you know where their
issue tracker is? I would be surprised if that has not been discussed.

Peter

On Mon, Sep 2, 2024 at 10:56=E2=80=AFAM Schlachter, Kai <
[email protected]> wrote:

> 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 =E2=80=93 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 th=
e
> 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:
>
> =E2=80=A6.
>
> 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.
>
> =E2=80=A6..
>
>
>
> 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 no=
t
> work out as gbrowse used Bio::DB:SeqFeature:Store::DBI::mysql and now tri=
es
> 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 <[email protected]>
> *Datum: *Freitag, 30. August 2024 um 14:29
> *An: *"Schlachter, Kai" <[email protected]>
> *Cc: *"[email protected]" <[email protected]>
> *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=E2=80=AFPM Schlachter, Kai <
> [email protected]> 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 o=
n
> 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 container=
s
> (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=E2=80=99t think it=E2=80=99=
s a good idea to
> start implementing / contributing with such a complex thing.
>
>
>
> Greetings,
>
>
>
> Kai
>
> _______________________________________________
> Bioperl-l mailing list
> [email protected]
> https://mailman.open-bio.org/mailman/listinfo/bioperl-l
>
> _______________________________________________
> Bioperl-l mailing list
> [email protected]
> https://mailman.open-bio.org/mailman/listinfo/bioperl-l
>

--0000000000004c623406213576f6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>It sounds to me (as an interested third party observe=
r of BioPerl), that there</div><div>is value in adding <span lang=3D"EN-US"=
>a MariaDB module to Bio::DB:SeqFeature:Store::DBI</span></div><div><span l=
ang=3D"EN-US">even if it is as simple as an alias or near copy of the MySQL=
 module?</span></div><div><span lang=3D"EN-US"><br></span></div><div><span =
lang=3D"EN-US">It also sounds like a bug in </span><span lang=3D"EN-US">DBD=
::MySQL if it refuses to work with version</span></div><div><span lang=3D"E=
N-US">10 (from MariaDB) by insisting on version 8. Do you know where their<=
/span></div><div><span lang=3D"EN-US">issue tracker is? I would be surprise=
d if that has not been discussed.<br></span></div><div><span lang=3D"EN-US"=
><br></span></div><div><span lang=3D"EN-US">Peter<br></span></div></div><br=
><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, S=
ep 2, 2024 at 10:56=E2=80=AFAM Schlachter, Kai &lt;<a href=3D"mailto:kai.sc=
[email protected]">[email protected]</a>&gt; wrot=
e:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D=
"msg4141255994118379919">





<div lang=3D"DE" style=3D"overflow-wrap: break-word;">
<div class=3D"m_4141255994118379919WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">Hello Pet=
er,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">Thanks fo=
r your reply.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">Updating =
of the database server process itself was no issue, also the migration of t=
he data in the database was nothing unusual =E2=80=93 this is also somethin=
g I already did many times before in other projects.<u></u><u></u></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">So the ne=
xt step I did was trying to install DBD::mysql as per some of the error mes=
sages I got from the application, this module was missing (which was correc=
t, as I started with a plain Debian container).
 So I tried to install, but first I needed to get the mysql-config tool ins=
talled:<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">apt-get i=
nstall libmariadb-dev-compat<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">After tha=
t I tried again with:<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">cpanm ins=
tall DBD::mysql<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">and this =
failed, with the errors in the log:<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=E2=80=A6=
.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">DBD::mysq=
l requires MySQL 8.x or newer for building. Version reported by mysql_confi=
g --version</span><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">: 10.11.6=
 at Makefile.PL line 451, &lt;PIPE&gt; line 3.</span><span style=3D"color:b=
lack"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">-&gt; N/A=
</span><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">-&gt; FAI=
L Configure failed for DBD-mysql-5.008. See /root/.cpanm/work/1725256110.10=
36/build.log f</span><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">or detail=
s.</span><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=E2=80=A6=
..</span><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0</s=
pan><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">As there =
is a DBD::MariaDB, I thought: Yes that one would most likely do the trick a=
nd I could actually install it. For this to be used I also needed to set th=
e configuration in gbrowse to use the
 MariaDB Connector (which is ok because this is what I just installed). How=
ever this does not work out as gbrowse used=C2=A0Bio::DB:SeqFeature:Store::=
DBI::mysql and now tries to use Bio::DB:SeqFeature:Store::DBI::MariaDB whic=
h is a module that does not exist.</span><span style=3D"color:black"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0</s=
pan><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">It might =
be that everything just works fine if I install the mysql libraries into th=
e container, sourced from MySQL directly instead of relying on Debian packa=
ges that come out of the box. But this
 feels kind of an ugly workaround.</span><span style=3D"color:black"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0</s=
pan><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">Greetings=
,</span><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">=C2=A0</s=
pan><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:black">Kai</span=
><span style=3D"color:black"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span><u></u>=C2=A0<u></u></span></p>
<div style=3D"border-width:1pt medium medium;border-style:solid none none;b=
order-color:rgb(181,196,223) currentcolor currentcolor;padding:3pt 0cm 0cm"=
>
<p class=3D"MsoNormal"><b><span style=3D"font-size:12pt;color:black">Von: <=
/span></b><span style=3D"font-size:12pt;color:black">Peter Cock &lt;<a href=
=3D"mailto:[email protected]" target=3D"_blank">p.j.a.cock@googlema=
il.com</a>&gt;<br>
<b>Datum: </b>Freitag, 30. August 2024 um 14:29<br>
<b>An: </b>&quot;Schlachter, Kai&quot; &lt;<a href=3D"mailto:kai.schlachter=
@dkfz-heidelberg.de" target=3D"_blank">[email protected]</a=
>&gt;<br>
<b>Cc: </b>&quot;<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a>&quot; &lt;<a href=3D"mailto:[email protected]=
g" target=3D"_blank">[email protected]</a>&gt;<br>
<b>Betreff: </b>[Extern] - Re: [Bioperl-l] Support for MariaDB in Bio::DB:S=
eqFeature:Store::DBI::<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<div>
<p class=3D"MsoNormal">Hello Kai,<br>
<br>
Interesting question (although I&#39;m viewing it from a Python and Biopyth=
on perspective).<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><a href=3D"https://mariadb.com/kb/en/upgrading-from-=
mysql-to-mariadb/" target=3D"_blank">https://mariadb.com/kb/en/upgrading-fr=
om-mysql-to-mariadb/</a> suggests this should<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">just work, with existing MySQL bindings treating Mar=
iaDB as a newer version.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">It sounds like your set is breaking in the Perl modu=
le DBD::mysql?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><a href=3D"https://metacpan.org/dist/DBD-mysql" targ=
et=3D"_blank">https://metacpan.org/dist/DBD-mysql</a><u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Looking at the change log there are entries from thi=
s year, and multiple mentions<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">of MariaDB - so I would expect this to work:<u></u><=
u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><a href=3D"https://metacpan.org/release/DVEEDEN/DBD-=
mysql-5.008/source/Changes" target=3D"_blank">https://metacpan.org/release/=
DVEEDEN/DBD-mysql-5.008/source/Changes</a><u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Can you take a look at their issue tracker <a href=
=3D"https://github.com/perl5-dbi/DBD-mysql" target=3D"_blank">
https://github.com/perl5-dbi/DBD-mysql</a><u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">and see if you&#39;ve hit a known issue?<u></u><u></=
u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Also can you double check the version of DBD::mysql =
you have installed?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Peter<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<div>
<p class=3D"MsoNormal">On Fri, Aug 30, 2024 at 12:15=E2=80=AFPM Schlachter,=
 Kai &lt;<a href=3D"mailto:[email protected]" target=3D"_bl=
ank">[email protected]</a>&gt; wrote:<u></u><u></u></p>
</div>
<blockquote style=3D"border-width:medium medium medium 1pt;border-style:non=
e none none solid;border-color:currentcolor currentcolor currentcolor rgb(2=
04,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<div>
<p class=3D"MsoNormal">Hi there,<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">I took over an older project to=
 modernize the underlaying hardware / software.</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This also involves the use of g=
browse, which in turn relies quite a lot on BioPerl.</span><u></u><u></u></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">As our freshly provided servers=
 are all Debian based and we are highly encouraged to use a most recent ver=
sion of Debian inside of our containers (docker), I
 ran into the following issue:</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Debian no longer supports MySQL=
 but has switched to MariaDB, which leads me to the following:</span><u></u=
><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">I tried to install gbrowse, res=
olving all the dependencies and stuff that came along. I also was able to c=
ompile the DBD::MariaDB as this is the required module
 for MariaDB-Connections.</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">However I was not able to find =
a Module in Bio::DB:SeqFeature:Store::DBI called MariaDB, there is only Mys=
ql :(</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Although both adaptors should s=
hare at least some basic functionality, it is not possible to install the M=
ysql-Version on a recent Debian because DBD::MySQL will
 refuse to work with mariadb because of a version mismatch (expected 8.x bu=
t reported 10.y).</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Are there any plans / ideas to =
add mariadb support to the modules?</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">I am not an original perl progr=
ammer so I don=E2=80=99t think it=E2=80=99s a good idea to start implementi=
ng / contributing with such a complex thing.</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Greetings,</span><u></u><u></u>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Kai</span><u></u><u></u></p>
</div>
</div>
<p class=3D"MsoNormal">_______________________________________________<br>
Bioperl-l mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">Bioperl-l@bioper=
l.org</a><br>
<a href=3D"https://mailman.open-bio.org/mailman/listinfo/bioperl-l" target=
=3D"_blank">https://mailman.open-bio.org/mailman/listinfo/bioperl-l</a><u><=
/u><u></u></p>
</div>
</blockquote>
</div>
</div>
</div>

_______________________________________________<br>
Bioperl-l mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">Bioperl-l@bioper=
l.org</a><br>
<a href=3D"https://mailman.open-bio.org/mailman/listinfo/bioperl-l" rel=3D"=
noreferrer" target=3D"_blank">https://mailman.open-bio.org/mailman/listinfo=
/bioperl-l</a><br>
</div></blockquote></div>

--0000000000004c623406213576f6--

--===============2211814553949967900==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Bioperl-l mailing list
[email protected]
https://mailman.open-bio.org/mailman/listinfo/bioperl-l

--===============2211814553949967900==--