View module in:   cgit   Doxygen

 

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 autogens.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/