Compile and install the Linux Package
In order to install the Linux package, odaba-12.0.0.tar.bz2 (or any other version) may be downloaded from http://sourceforge.net/p/odaba/. The package contains the complete documentation and the sources and procedures to build the software.
After unpacking and copying the files to local directories, one may compile the system. In order to build the basic database libraries and tools, only the base sources need to be build. In order to build the GUI framework and ODABA GUI tools, QT 4 has to be installed as development-package.
ODABA can be installed on any Linux (Suse, Fedora, Gentoo, Arch). In order to install ODABA, you have to
- unpack the installation file
- compile the source-package for your platform
- roll a package and use the facilities provided by you distribution to install
Please read the INSTALL file provided with the source package as it contains hints about the dependencies your system has to provide.
In order to configure and install the source package, the following packages have to be available:
- automake
- autotools
- libtool
- pkg-config
In order to unpack the installation file, one may simply call
$ tar xjf odaba-[version].tar.bz2
where version is the current version number of the ODABA release (e.g. 12.0.0). The result is the ODABA-source tree in a directory 'odaba-[version]'.
I requires about 300 MB of free disk space to unpack ODABA.
Installation is controlled by several options, which are mainly used in order to include optional features. For activating proper options, configure has to be called on all platforms before compiling the package.
configure [--disable-gui] [--prefix=target]
[--with-zlib=zlib-location]
[--with-libcurl=libcurl-location]
[--with-libzip=libzip-location]
[--with-hunspell=hunspell-location]
[--with-libmicrohttpd=libmicrohttpd-location]
In order to build ODABA including GUI framework one may call configure without parameters. For suppressing installing GUI framework, one may pass --disable-gui.
target - a target location might be passed in order to create the ODABA system folder in a different place than in the Window's program folder (see next step: make install).
zlib-location - locations for zlib header files and libraries in zlib installation folder are necessary in order to activate the compression feature, which is used in order to compress large data fields as well as net packages. This is not explicitly required but may improve performance.
libzip-location - locations for libzip header files and libraries in libzip installation folder are necessary in order to use the Open Document generation feature. When the component has not been activated, document generation will fail.
hunspell-location - locations for hunspell header files and libraries in hunspell installation folder is needed for activating the spell checker feature. When the option has not been set, no spell check is performed (e.g. in Terminus).
libmicrohttpd-location - locations for libmicrothhpd header files and libraries in libmicrothhpd installation folder is needed for activating the HTTP server features.
When installed components do not correspond to expected directory structure, component sources have to be defined more detailled, e.g. like
configure --with-hunspell-include=.../hunspell-1.3.1/src/hunspell
--with-hunspell-lib=.../hunspell-1.3.1/lib
Extended features features, which have been installed at default locations will be detected automatically and need not to be defined when configuring ODABA. In order to use extended features, following libraries may be provided (but need not):
- readline provides command line history and editing features for the terminal. For UNIX, readline is mandatory.
- zlib is used for data compression in different places (e.g. for transferring data via net or loading compressed databases in replication server mode). It is also required for BackupDB and RestoreDB.
- libzip is used to read and generate OpenDocument files. This feature is used for generating LibreOffice documents from document templates.
- libcurl supports various communication protocols and is used for sending emails via ssmtp protocol. In case the platform does not provide libcurl in a recent version it is still possible to send emails using the unencrypted port 25 or send mail on UNIX platforms. This feature is used, e.g. for the ODE ticket-tracking feature.
- libhunspell is required for using the built-in spell checker, which is supported for most large text fields (documentation) in several ODE tools.
- libmicrohttpd is required in order to provide HTTP server features. Without providing this library, OHTTPServer(D) will not work.
When installing those libraries after installing ODABA, ODABA has to be re-installed afterward in order to activate newly installed features (configure, make, make install).
In case the platform that is used to build ODABA does not provide pkg-config it is possible to provide all dependent libraries using variables ( see example ).
:: supposed that all referenced features have been installed at default locations
./configure --enable-gui --prefix=/tmp/odaba
After unpacking (unpack) the installation file and configuring the package, one may build the base libraries and tools (ODABA) as well as the GUI framework and GUI tools (ODABA GUI). There is a more detailed guide in share/doc/odaba/INSTALL that also lists the dependencies for common platforms by name.
In order to build ODABA, the following packages are required:
g++, libstdc++, readline, libc, curl, libzip, zlib, libmicrohttpd
In order to build the ODABA GUI framework, Qt 4.5 to 4.8 is required in addition. Since ODABA 11.1 autotools are supported. Therefore, configuring build and install of ODABA is similar to many other package. After configuring the package, make has to be called
$ make
Configure had automatically disable features that require libraries not installed on the build-host.
$ CXXFLAGS="$(CXXFLAGS)" ./configure \
--prefix=/develop/odaba-$(shell cat VERSION) \
--exec_prefix=/develop/odaba-$(shell cat VERSION)
$ make
$ make install
After compilation succeeded executables have to be installed on the system. Depending on settings when configuring the system, ODABA will be installed in default location (/usr/local/) or in the odaba root location passed in --prefix while configuring the package.
$ ./configure --prefix=/home/username/odaba-[VERSION]
In order to install the package, call
$ [sudo] make install
Depending on the configure parameters this action may require root access to create the directories in the system. For default configuration (without --prefix) write access is required for /usr/local, which is not the default on every platform. When running make install does not work, one has to call the installation as system administrator (sudo).
After installation, following folders are created below the ODABA root directory (/usr/lib or settings from --prefix):
- etc/odaba - tools configuration files
- etc/odaba/tpl - ODABA configuration file templates
- include - common API header files
- include/odaba - ODABA database API header files
- include/odabagui - ODABA GUI API header files
- lib - dynamic ODABA system libraries
- lib/odaba/modules - optional and plugin libraries
- lib/odaba/tools - executables (utilities, gui frame work, tools etc.)
- share/odaba - system databases and maintenance procedures (.sh)
- share/odaba/procedures - compile procedures
- share/odaba/scripts - sample scripts (for data model definition - ODL, script example - OSI and OShell)
- share/odaba/template - LibreOffice document templates (ODABA document interface)
After installing, ODABA tools may be called from the tools directory. Most ODABA tool require a configuration or ini-file for passing run-time information to the tool. Configuration (ini) files are described in the corresponding tools documentation. In order to make dynamic and optional libraries available, the LD_LIBRARY_PATH should be set at least to:
LD_LIBRARY_PATH=$(ODABA_ROOT)/lib:$(ODABA_ROOT)/odaba/modules
export LD_LIBRARY_PATH
Instead of exporting the library path one also me precede the function call by path setting. One way to generate appropriate procedures and configuration files is calling CreateProject (see Create new project).
Most steps described in the following chapters suppose that ODABA had been installed in the default location (/usr/local). When it had been installed in another place, one simply has to replace /usr/local by the location passed in --prefix.
In order to remove the package, the directories as being listed in the topic above have to be removed. So far, there is no procedure generated for removing files.