office-gobmx/mysqlc
Stephan Bergmann 103be64d43 -Wc++11-narrowing (Clang towards 3.2)
Change-Id: I5b5e61995671aa194f97c4f337b2c429842917c0
2012-08-14 10:39:13 +02:00
..
prj
source -Wc++11-narrowing (Clang towards 3.2) 2012-08-14 10:39:13 +02:00
README
version.mk

The MySQL driver for LibreOffice.

== Status ==

The code is on a PREVIEW level. PREVIEW means pre-alpha.


== Requirements ==

The MySQL driver for OpenOffice.org (MySQL Connector/OpenOffice.org - C/OOo)
requires two external libraries to be build:

 1) The MySQL Client Library (libmysql)
 2) The MySQL Connector/C++ Library (libmysqlcppcon)

At the time of writing neither of the two libraries are part of the CWS!
Before you can build the MySQL driver for OpenOffice.org you must install
the two required libraries on your system before you can compile the driver.

You need the two libraries because the MySQL driver for OpenOffice.org
does not feature an implementation of the MySQL Client Server
communication protocol. The protocol implementation is part of the MySQL
Client Library. And the SDBC(X) style OpenOffice.org driver is implemented as a
wrapper of the MySQL Connector/C++ Library which implements a JDBC interface and
in turn uses the C based MySQL Client Library.

1) MySQL Client Library (libmysql)

The MySQL Client Library (libmysql) is part of the MySQL Server. You need to
download and install the MySQL Server. Use a binary distribution of
MySQL 5.0.x or MySQL 5.1.x. Check the MySQL manual for instructions, e.g.
for Unix:

 http://dev.mysql.com/doc/refman/5.1/en/installing-binary.html

The typical installation path of the libmysql.so on Unix is
/usr/local/mysql/lib/mysql/ .

2) MySQL Connector/C++ (libmysqlcppcon)

Download and install the latest version of the MySQL Connector/C++, see
http://forge.mysql.com/wiki/Connector_C++ . Check out the source
from the bzr repository.

3) Tweaking library paths

At the time of writing you might have to *manually* tweak library paths and
library names by patching makefile.mk. This is a temporary hack. The makefile
will be improved later.

However, for the moment check the makefile.mk if the compilation fails due to
"missing" libraries (= libraries not found). For example, check the following
settings:

  MYSQL_INCDIR=/usr/local/include
  MYSQL_LIBDIR=/usr/local/lib
  [...]
  MYSQL_INCDIR=/usr/local/include
  MYSQL_LIBDIR=/usr/local/lib
  [...]
  MYSQL_INC=-I$(MYSQL_INCDIR)
  MYSQL_LIB=-L$(MYSQL_LIBDIR) -lmysqlclient -rdynamic -lz -lcrypt -lnsl -lm
  MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlclient.so.16
  MYSQL_CPPCONN_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlcppconn.so
  [...]

A common issue is libmysqlclient.so.15 vs. libmysqlclient.so.16 .