[MCOL-2255]  libmysqlclient-dev is required for mariadb-columnstore-api test suite instead of libmariadbclient-dev Created: 2019-03-22  Updated: 2023-10-26  Resolved: 2019-03-25

Status: Closed
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: None
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Zdravelina Sokolovska (Inactive) Assignee: Andrew Hutchings (Inactive)
Resolution: Not a Bug Votes: 0
Labels: None


 Description   

libmysqlclient-dev is required for mariadb-columnstore-api test suite instead of libmariadbclient-dev

refer to https://github.com/mariadb-corporation/mariadb-columnstore-api

it would be expected to exaggerate libmariadbclient-dev in the required package list instated of
libmysqlclient-dev

~/mariadb-columnstore-api# cmake -DTEST_RUNNER=ON -DTEST_RUNNER=ON  -DDEB=ON .
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.4")
-- Found LIBUV: /usr/lib/x86_64-linux-gnu/libuv.so
-- Found SNAPPY: /usr/lib/x86_64-linux-gnu/libsnappy.so
-- Boost version: 1.65.1
-- Found GTest: /usr/lib/libgtest.so
CMake Error at test/CMakeLists.txt:3 (MESSAGE):
  Could not find a usable libmysqlclient for the test suite!

 apt-get install cppcheck libmysqlclient-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
cppcheck is already the newest version (1.82-1).
The following packages were automatically installed and are no longer required:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-6 libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl
  libhttp-message-perl libio-html-perl liblwp-mediatypes-perl liburi-perl
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libmysqlclient20 mysql-common
The following NEW packages will be installed:
  libmysqlclient-dev libmysqlclient20 mysql-common
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 1982 kB of archives.
After this operation, 11.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 mysql-common all 5.8+1.0.4 [7308 B]
Ign:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libmysqlclient20 amd64 5.7.22-0ubuntu18.04.1
Ign:3 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libmysqlclient-dev amd64 5.7.22-0ubuntu18.04.1
Err:2 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 libmysqlclient20 amd64 5.7.22-0ubuntu18.04.1
  404  Not Found [IP: 91.189.88.152 80]
Err:3 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 libmysqlclient-dev amd64 5.7.22-0ubuntu18.04.1
  404  Not Found [IP: 91.189.88.152 80]
Fetched 7308 B in 0s (15.3 kB/s)
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/m/mysql-5.7/libmysqlclient20_5.7.22-0ubuntu18.04.1_amd64.deb  404  Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/m/mysql-5.7/libmysqlclient-dev_5.7.22-0ubuntu18.04.1_amd64.deb  404  Not Found [IP: 91.189.88.152 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

 apt-get install libmariadbclient-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-6 libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl
  libhttp-message-perl libio-html-perl liblwp-mediatypes-perl liburi-perl
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libmariadbclient18 mysql-common
The following NEW packages will be installed:
  libmariadbclient-dev libmariadbclient18 mysql-common
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 2300 kB/2308 kB of archives.
After this operation, 13.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libmariadbclient18 amd64 1:10.1.29-6 [725 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libmariadbclient-dev amd64 1:10.1.29-6 [1576 kB]
Fetched 2300 kB in 3s (810 kB/s)
Selecting previously unselected package mysql-common.
(Reading database ... 78151 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.8+1.0.4_all.deb ...
Unpacking mysql-common (5.8+1.0.4) ...
Selecting previously unselected package libmariadbclient18:amd64.
Preparing to unpack .../libmariadbclient18_1%3a10.1.29-6_amd64.deb ...
Unpacking libmariadbclient18:amd64 (1:10.1.29-6) ...
Selecting previously unselected package libmariadbclient-dev.
Preparing to unpack .../libmariadbclient-dev_1%3a10.1.29-6_amd64.deb ...
Unpacking libmariadbclient-dev (1:10.1.29-6) ...
Setting up mysql-common (5.8+1.0.4) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up libmariadbclient18:amd64 (1:10.1.29-6) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for man-db (2.8.3-2) ...
Setting up libmariadbclient-dev (1:10.1.29-6) ...
~#
# cmake -DTEST_RUNNER=ON -DTEST_RUNNER=ON -DDEB=ON .
-- Boost version: 1.65.1
-- Found MySQL: /usr/local/mariadb/columnstore/mysql/lib/libmysqlclient.so
-- Found Threads: TRUE
-- Found Python2 interpreter
-- Found Python2 header file Python.h
-- Found Python3 interpreter
-- Found Python3 header file Python.h
-- Found SWIG: /usr/bin/swig3.0 (found suitable version "3.0.12", minimum required is "3")
-- Found SWIG: /usr/bin/swig3.0 (found version "3.0.12")
-- Found Java: /usr/bin/java (found version "1.8.0_171")
-- Found JNI: /usr/lib/jvm/default-java/lib/libjawt.so
CMake Deprecation Warning at /usr/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
  SWIG_ADD_MODULE is deprecated.  Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
  java/CMakeLists.txt:27 (swig_add_module)
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- -----------------------------------------------
-- CMAKE_INSTALL_PREFIX = /usr/local
-- CMAKE_BUILD_TYPE = RELWITHDEBINFO
-- TEST_RUNNER = ON
-- RUN_CPPCHECK = OFF
-- BUILD_DOCS = OFF
-- PYTHON = ON
-- JAVA = ON
-- SPARK_CONNECTOR = ON
-- RPM = OFF
-- DEB = ON
-- Change a values with: cmake -D<Variable>=<Value>
-- ------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mariadb-columnstore-api
root@aab:~
~/mariadb-columnstore-api#  cmake -DTEST_RUNNER=ON -DRUN_CPPCHECK=ON  -DDEB=ON .
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.4")
-- Found LIBUV: /usr/lib/x86_64-linux-gnu/libuv.so
-- Found SNAPPY: /usr/lib/x86_64-linux-gnu/libsnappy.so
-- Boost version: 1.65.1
-- Found GTest: /usr/lib/libgtest.so
-- Found MySQL: /usr/local/mariadb/columnstore/mysql/lib/libmysqlclient.so
-- Found Threads: TRUE
-- Found Python2 interpreter
-- Found Python2 header file Python.h
-- Found Python3 interpreter
-- Found Python3 header file Python.h
-- Found SWIG: /usr/bin/swig3.0 (found suitable version "3.0.12", minimum required is "3")
-- Found SWIG: /usr/bin/swig3.0 (found version "3.0.12")
-- Found Java: /usr/bin/java (found version "1.8.0_171")
-- Found JNI: /usr/lib/jvm/default-java/lib/libjawt.so
CMake Deprecation Warning at /usr/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
  SWIG_ADD_MODULE is deprecated.  Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
  java/CMakeLists.txt:27 (swig_add_module)
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- -----------------------------------------------
-- CMAKE_INSTALL_PREFIX = /usr/local
-- CMAKE_BUILD_TYPE = RELWITHDEBINFO
-- TEST_RUNNER = ON
-- RUN_CPPCHECK = ON
-- BUILD_DOCS = OFF
-- PYTHON = ON
-- JAVA = ON
-- SPARK_CONNECTOR = ON
-- RPM = OFF
-- DEB = ON
-- Change a values with: cmake -D<Variable>=<Value>
-- ------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mariadb-columnstore-api



 Comments   
Comment by Andrew Hutchings (Inactive) [ 2019-03-22 ]

mcsapi will search for libmysqlclient and fall back to libmariadb. It will also prefer a ColumnStore one first. The error message just states libmysqlclient. Also libmariadb provides an API compatible libmysqlclient. Since libmysqlclient is the lowest common denominator I see no reason to change the error message.

Comment by Zdravelina Sokolovska (Inactive) [ 2019-03-25 ]

LinuxJedi why is required libmariadbclient-dev package instead of libmariadbclient-dev ?

Comment by Andrew Hutchings (Inactive) [ 2019-03-25 ]

As explained in my comment above, it searches for one and then the other. This is the search list:

mysqlclient mysqlclient_r mariadb libmariadb mariadbclient

Since they are API compatible it doesn't make any difference.

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