[MDEV-28711] Columnstore needs specific version of libmariadb3 but doesn't pull it as requirement Created: 2022-05-31  Updated: 2022-09-13  Resolved: 2022-09-13

Status: Closed
Project: MariaDB Server
Component/s: Packaging, Platform Debian, Storage Engine - ColumnStore
Affects Version/s: 10.6
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Leonid Fedorov
Resolution: Fixed Votes: 0
Labels: None
Environment:

Debian 10


Sprint: 2021-17

 Description   

Possibly other versions of MariaDB and debian/ubuntu are also affected, I was looking only at 10.6 on Debian 10.

Debian 10 has libmariadb3 10.3 in their repository, apparently installed by default or with some other packages.
When mariadb-plugin-columnstore 10.6 is installed, it doesn't pull an upgrade for libmariadb3 as a requirement. However, it cannot work with libmariadb3 from 10.3:

$ dpkg -l | grep libmariadb3
ii  libmariadb3:amd64             1:10.3.29-0+deb10u1          amd64        MariaDB database client library
 
/usr/bin/mcsGetConfig: symbol lookup error: /usr/lib/x86_64-linux-gnu/libjoblist.so: undefined symbol: EVP_CIPHER_CTX_new
 
MariaDB [db]> create table t (a int) engine=columnstore;
ERROR 1815 (HY000): Internal error: Cannot execute the statement. DBRM is read only!

After libmariadb3 upgrade it works all right:

$ dpkg -l | grep libmariadb3
ii  libmariadb3:amd64               1:10.6.8+maria~buster        amd64        MariaDB database client library
 
$ /usr/bin/mcsGetConfig
usage: /usr/bin/mcsGetConfig [-vh] [-c config_file] section param
   Displays configuration variable param from section section.
   -c config_file use config file config_file
   -a display all configuration values
   -i display all configuration values in .ini-file format (implies -a)
   -v display verbose information
   -h display this help text
 
MariaDB [db]> create table t (a int) engine=columnstore;
Query OK, 0 rows affected (0.935 sec)

Full (slightly abridged) log of the installation:

$ dpkg -l | grep libmariadb3
ii  libmariadb3:amd64             1:10.3.29-0+deb10u1          amd64        MariaDB database client library
 
$ sudo apt-get install mariadb-server mariadb-plugin-columnstore
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu galera-4 gawk libbinutils libboost-atomic1.67.0 libboost-chrono1.67.0 libboost-date-time1.67.0
  libboost-filesystem1.67.0 libboost-regex1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libcgi-fast-perl libcgi-pm-perl libdbd-mariadb-perl libdbi-perl
  libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl
  liblwp-mediatypes-perl libmpfr6 libpmem1 libsigsegv2 libsnappy1v5 libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.6
  mariadb-client-core-10.6 mariadb-common mariadb-server-10.6 mariadb-server-core-10.6 net-tools socat
Suggested packages:
  binutils-doc gawk-doc libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl libdata-dump-perl libipc-sharedcache-perl libwww-perl
  mariadb-test netcat-openbsd
The following NEW packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu galera-4 gawk libbinutils libboost-atomic1.67.0 libboost-chrono1.67.0 libboost-date-time1.67.0
  libboost-filesystem1.67.0 libboost-regex1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libcgi-fast-perl libcgi-pm-perl libdbd-mariadb-perl libdbi-perl
  libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl
  liblwp-mediatypes-perl libmpfr6 libpmem1 libsigsegv2 libsnappy1v5 libterm-readkey-perl libtimedate-perl liburi-perl mariadb-client-10.6
  mariadb-client-core-10.6 mariadb-plugin-columnstore mariadb-server mariadb-server-10.6 mariadb-server-core-10.6 net-tools socat
The following packages will be upgraded:
  mariadb-common
1 upgraded, 41 newly installed, 0 to remove and 55 not upgraded.
 
...
 
$ /usr/bin/mcsGetConfig
/usr/bin/mcsGetConfig: symbol lookup error: /usr/lib/x86_64-linux-gnu/libjoblist.so: undefined symbol: EVP_CIPHER_CTX_new
 
MariaDB [db]> create table t (a int) engine=columnstore;
ERROR 1815 (HY000): Internal error: Cannot execute the statement. DBRM is read only!
 
$ sudo apt-get install libmariadb3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libmariadb3
1 upgraded, 0 newly installed, 0 to remove and 54 not upgraded.
Need to get 148 kB of archives.
After this operation, 63.5 kB disk space will be freed.
Get:1 https://mirrors.xtom.ee/mariadb/repo/10.6/debian buster/main amd64 libmariadb3 amd64 1:10.6.8+maria~buster [148 kB]
Fetched 148 kB in 0s (732 kB/s)      
Reading changelogs... Done
(Reading database ... 48325 files and directories currently installed.)
Preparing to unpack .../libmariadb3_1%3a10.6.8+maria~buster_amd64.deb ...
Unpacking libmariadb3:amd64 (1:10.6.8+maria~buster) over (1:10.3.29-0+deb10u1) ...
Setting up libmariadb3:amd64 (1:10.6.8+maria~buster) ...
Processing triggers for libc-bin (2.28-10) ...
 
$ /usr/bin/mcsGetConfig
usage: /usr/bin/mcsGetConfig [-vh] [-c config_file] section param
   Displays configuration variable param from section section.
   -c config_file use config file config_file
   -a display all configuration values
   -i display all configuration values in .ini-file format (implies -a)
   -v display verbose information
   -h display this help text
 
$ sudo systemctl restart mariadb-columnstore
$ sudo systemctl restart mariadb
 
MariaDB [db]> create table t (a int) engine=columnstore;
Query OK, 0 rows affected (0.935 sec)



 Comments   
Comment by Roman [ 2022-05-31 ]

Thx for a heads-up. We definitely didn't test for libmariadb version compatibility and we will update dependencies list in our debian/control.

Generated at Thu Feb 08 10:02:53 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.