Version 4.0.0.1, tag libreoffice-4.0.0.1
[LibreOffice.git] / mysqlc / README
blob17345da402997b2b07f22326ab24293f824b6aec
1 The MySQL driver for LibreOffice.
3 == Status ==
5 The code is on a PREVIEW level. PREVIEW means pre-alpha.
8 == Requirements ==
10 The MySQL driver for OpenOffice.org (MySQL Connector/OpenOffice.org - C/OOo)
11 requires two external libraries to be build:
13  1) The MySQL Client Library (libmysql)
14  2) The MySQL Connector/C++ Library (libmysqlcppcon)
16 At the time of writing neither of the two libraries are part of the CWS!
17 Before you can build the MySQL driver for OpenOffice.org you must install
18 the two required libraries on your system before you can compile the driver.
20 You need the two libraries because the MySQL driver for OpenOffice.org
21 does not feature an implementation of the MySQL Client Server
22 communication protocol. The protocol implementation is part of the MySQL
23 Client Library. And the SDBC(X) style OpenOffice.org driver is implemented as a
24 wrapper of the MySQL Connector/C++ Library which implements a JDBC interface and
25 in turn uses the C based MySQL Client Library.
27 1) MySQL Client Library (libmysql)
29 The MySQL Client Library (libmysql) is part of the MySQL Server. You need to
30 download and install the MySQL Server. Use a binary distribution of
31 MySQL 5.0.x or MySQL 5.1.x. Check the MySQL manual for instructions, e.g.
32 for Unix:
34  http://dev.mysql.com/doc/refman/5.1/en/installing-binary.html
36 The typical installation path of the libmysql.so on Unix is
37 /usr/local/mysql/lib/mysql/ .
39 2) MySQL Connector/C++ (libmysqlcppcon)
41 Download and install the latest version of the MySQL Connector/C++, see
42 http://forge.mysql.com/wiki/Connector_C++ . Check out the source
43 from the bzr repository.
45 3) Tweaking library paths
47 At the time of writing you might have to *manually* tweak library paths and
48 library names by patching makefile.mk. This is a temporary hack. The makefile
49 will be improved later.
51 However, for the moment check the makefile.mk if the compilation fails due to
52 "missing" libraries (= libraries not found). For example, check the following
53 settings:
55   MYSQL_INCDIR=/usr/local/include
56   MYSQL_LIBDIR=/usr/local/lib
57   [...]
58   MYSQL_INCDIR=/usr/local/include
59   MYSQL_LIBDIR=/usr/local/lib
60   [...]
61   MYSQL_INC=-I$(MYSQL_INCDIR)
62   MYSQL_LIB=-L$(MYSQL_LIBDIR) -lmysqlclient -rdynamic -lz -lcrypt -lnsl -lm
63   MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlclient.so.16
64   MYSQL_CPPCONN_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlcppconn.so
65   [...]
67 A common issue is libmysqlclient.so.15 vs. libmysqlclient.so.16 .