Difference between revisions of "OpenDBX/Setup/Unix-like/Building from source"
(→Compilation) |
(→Compilation) |
||
Line 40: | Line 40: | ||
By default only the mysql, pgsql and sqlite3 backend is included when building rpm packages. The defaults can be overwritten via command line by adding "--with <backend>" or "--without <backend>", e.g. | By default only the mysql, pgsql and sqlite3 backend is included when building rpm packages. The defaults can be overwritten via command line by adding "--with <backend>" or "--without <backend>", e.g. | ||
− | rpmbuild -ta opendbx-x.y.z.tar.gz --with | + | rpmbuild -ta opendbx-x.y.z.tar.gz --with sqlite --without pgsql |
== Installation == | == Installation == |
Revision as of 20:03, 21 June 2006
Contents
Setup
Compilation
Please get the latest code from Linuxnetworks.de first.
The compilation itself is a rather easy task. All you need is a standard ANSI C compiler like gcc (tested with 2.95 and above), the make tool and a shell which can execute scripts generated by autoconf/automake.
Calling ./configure in the opendbx directory without arguments only generates Makefiles for the OpenDBX library itself, which isn't useful on its own. You have to tell the script to also create Makefiles for one or more backends. This is done by appending the --with-backends parameter and specifying the backends you want to build:
./configure --with-backends="mysql pgsql sqlite3"
would create Makefiles for the MySQL, PostgreSQL and SQLite3 backends provided you have their client libraries and header files installed in the default location. If the header files are not installed in /usr/include/, you have to give ./configure some hints where to find them:
CPPFLAGS="-I /usr/include/mysql" ./configure --with-backends="mysql"
will additionally look for the MySQL header files in /usr/include/mysql. The same (also in combination with CPPFLAGS) can be used for library paths. Some distributions install the MySQL libraries in /usr/lib/mysql for example:
LDFLAGS="-L/usr/lib/mysql" ./configure --with-backends="mysql"
Calling "./configure --help" tells you what parameters are allowed and how to use them. If something is missing, ./configure will tell you what it is. In the end you have to call "make" in the package directory to actually compile the source code.
Compiling and building packages for Debian is simple if you want to build all backends. For Debian you should install the fakeroot package before (apt-get install fakeroot), so you don't have to be root and mess up your system. Unpack the .tar.gz, change into this directory and build a .deb package:
fakeroot debian/rules binary
It's similar for rpm based distributions. There is a spec file inside the .tar.gz, which build the complete package automatically (be sure, you have installed all necessary libraries and header files):
rpm -ta opendbx-x.y.z.tar.gz
or with the newer command:
rpmbuild -ta opendbx-x.y.z.tar.gz
By default only the mysql, pgsql and sqlite3 backend is included when building rpm packages. The defaults can be overwritten via command line by adding "--with <backend>" or "--without <backend>", e.g.
rpmbuild -ta opendbx-x.y.z.tar.gz --with sqlite --without pgsql
Installation
Installation from source is done by executing "make install" in the package directory. This will copy the libraries to /usr/local/lib and /usr/local/lib/opendbx and the header file to /usr/local/include. If you want to install them somewhere else, execute ./configure with --prefix or its related parameters.
The files from the .deb and .rpm packages are installed to /usr/lib, /usr/lib/opendbx and /usr/include by using the package manager tools.
Back to Overview