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