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