title: Which lib to use? libmariadbclient or libmysqlclient?
body: <p>For some unknown reason, my libmysqlclient.a disappeared in my CentOS 7.
  My program then got linker error, saying cannot find libmysqlclient.</p>
  
  <p>And then I discovered that my mysql-devel package is gone:</p>
  
  <pre><code>yum info mysql-devel
  yum install mysql-devel
  </code></pre>
  
  <p>Here is the response:</p>
  
  <pre><code>Loaded plugins: fastestmirror
  Loading mirror speeds from cached hostfile
   * base: repo.virtualhosting.hk
   * epel: mirror.pregi.net
   * extras: repo.virtualhosting.hk
   * updates: repo.virtualhosting.hk
  Package MariaDB-devel-10.2.5-1.el7.centos.x86_64 already installed and latest version
  </code></pre>
  
  <p>So I think maybe I should use libmariadbclient instead, but when I link my program with libmariadbclient, it had linking errors:</p>
  
  <pre><code>/usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_start':
  (.text+0x191): undefined reference to `CRYPTO_num_locks'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_start':
  (.text+0x1aa): undefined reference to `CRYPTO_THREADID_set_callback'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_start':
  (.text+0x1b6): undefined reference to `CRYPTO_set_locking_callback'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_start':
  (.text+0x1bb): undefined reference to `SSL_library_init'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_start':
  (.text+0x1c7): undefined reference to `SSL_load_error_strings'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_start':
  (.text+0x1cc): undefined reference to `OPENSSL_add_all_algorithms_noconf'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_end':
  (.text+0x2b4): undefined reference to `CRYPTO_set_locking_callback'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_end':
  (.text+0x2bb): undefined reference to `CRYPTO_set_id_callback'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_end':
  (.text+0x2df): undefined reference to `CRYPTO_num_locks'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_end':
  (.text+0x340): undefined reference to `EVP_cleanup'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_end':
  (.text+0x345): undefined reference to `CRYPTO_cleanup_all_ex_data'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_end':
  (.text+0x34a): undefined reference to `ERR_free_strings'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_end':
  (.text+0x351): undefined reference to `CONF_modules_free'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `ma_tls_init':
  (.text+0x3e1): undefined reference to `SSLv23_client_method'
  /usr/lib64//libmariadbclient.a(openssl.c.o): In function `my_cb_threadid':
  (.text+0x1e): undefined reference to `CRYPTO_THREADID_set_numeric'
  /usr/lib64//libmariadbclient.a(ma_compress.c.o): In function `_mariadb_compress_alloc':
  (.text+0x5d): undefined reference to `compress'
  /usr/lib64//libmariadbclient.a(ma_compress.c.o): In function `_mariadb_uncompress':
  (.text+0x191): undefined reference to `uncompress'
  collect2: error: ld returned 1 exit status
  </code></pre>
  
  <p>I've been using libmysqlclient to connect with my MariaDB 10.1, and have recently been trying to build it from source, but failed due to problems with OpenSSL 1.1 version. Here you see my another post for it:</p>
  
  <p><a href="https://stackoverflow.com/questions/44012487/error-incomplete-type-md5-context-with-mariadb-10-2-and-openssl-1-1-0e?noredirect=1#comment75087110_44012487">Error &quot;incomplete type MD5_CONTEXT&quot; with MariaDB 10.2 and Openssl 1.1.0e</a></p>
  
  <p>So I'm confused why mysqlclient.a disappeared and which lib I should use.</p>
  
  <p>Can anyone help?</p>
  
  <p>Thanks!</p>