Files
libreoffice/mysqlc
Stephan Bergmann 61d57bcebd Don't link Library_mysqlc against -lnsl
At least Fedora 28 glibc-2.27-8.fc28 no longer provides the nis development
headers and libraries. (It only still contains some binaries for backwards
compatibility, in the libnsl sub-package: "This package provides the legacy
version of libnsl library, for accessing NIS services.")

The -lnsl was present ever since 4946c62f29
"mysqlconnector: initial import from CWS mysqlnative", but appears to not be
necessary (at least any more).

Change-Id: I10b56cdc1a438fb2978125ae0acde0dbec747e78
Reviewed-on: https://gerrit.libreoffice.org/52536
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Jenkins <ci@libreoffice.org>
2018-04-07 14:02:35 +02:00
..
2018-03-30 07:03:40 +02:00

The MySQL driver for LibreOffice.

It ships as an extension (.oxt file).

== Requirements ==

The MySQL driver for LibreOffice (MySQL Connector/LibreOffice - C/LibO)
requires two external libraries to be built:

 1) The MySQL Client Library (libmysql) or MariaDB Client library
 2) The MySQL Connector/C++ Library (libmysqlcppconn)

The MariaDB client library is provided as an external and will be
automatically built if you pass "--without-system-mariadb" to
autogen.sh.

libmysqlcppconn is provided as an external and will be automatically
compiled if you pass "--without-system-mysql-cppconn" to autogen.sh.

The MySQL driver for LibreOffice does not reimplement the MySQL
Client/Server communication protocol. The protocol implementation is
part of the MySQL Client Library. The SDBC(X) driver is implemented as
a wrapper of the MySQL Connector/C++ Library which implements a
JDBC-like interface (which suits SDBC(X) well) and which in turn uses
the C based MySQL Client Library.

== Variants ==

If configured with --with-system-mariadb --disable-bundle-mariadb, the
driver will *not* ship a copy of the MySQL client C library and will
expect it to be installed in a standard location on each system that
it runs on. That is usually the right choice to create a native
package/port for GNU/Linux, BSD, etc, where the packaging system
handles dependencies and will ensure the availability of the MySQL
client C library in the standard location.

If configured with --with-system-mariadb --enable-bundle-mariadb, the
driver will ship a copy of the MariaDB (or MySQL) client C library so
that it works "out of the box" on any system. That (or
--without-system-mariadb) is usually the right choice to create a
stand-alone .oxt file that users can just install through the
LibreOffice extensions manager, as is typical for Microsoft Windows
and Apple MacOS X native (as opposed to MacPorts / fink / pkgsrc /
...).

--disable-bundle-mariadb is the default.

== Installing the Requirements ==

On modern/free-as-in-free-speech Unices, libmysql and libmysqlcppconn
are probably available as a package/port. Install them using your
distribution's tools. Make sure to install the development packages
(whose name usually ends with -dev or -devel), and not only the
libraries themselves.

Else you can install the MariaDB Client Library from official MariaDB
packages at https://downloads.mariadb.org/client-native/ .
They have source and binary distributions for several platforms.
At least series 2.0 is recommended, as series 1.0 are known to be too
buggy. Additionally, version 2.0.0 is known to be incompatible with
MySQL Connector/C++ version 1.1.4, which --without-system-mysqlcppconn
uses, and which --with-system-mysqlcppconn could use
(see https://mariadb.atlassian.net/browse/CONC-104).
Use a version where the above incompatibility has been solved.

Alternatively, MySQL Client Library from official MySQL
packages are at http://dev.mysql.com/downloads/connector/c/ .

You can also install the MySQL Client Library (libmysql) as part of
the MariaDB or MySQL Server, version 5.0 or later. Check the MariaDB
or MySQL manual for instructions:
https://mariadb.com/kb/en/mariadb/documentation/getting-started/getting-installing-and-upgrading-mariadb/
http://dev.mysql.com/doc/refman/5.5/en/installing.html
The typical installation path of the libmysql.so on Unix is
/usr/local/mysql/lib/mysql/ .


Official packages for libmysqlcppconn can be downloaded from
http://dev.mysql.com/downloads/connector/cpp/