Compile Windows version
In order to install the Windows package by recompiling the system, odaba-n.n.n.zip, where n.n.n is the current ODABA version, may be downloaded from http://sourceforge.net/p/odaba. The package contains the complete documentation and the sources and procedures for rebuild the software. Besides, the package contains ODABA development databases for examining ODABA resources (source code, GUI resources).
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.4 up to Qt 5.11 must have been installed.
ODABA can be installed on several MS Windows platforms (from Windows XP to Windows 10). In order to install ODABA, the following steps have to be performed
- Unpack the installation file
- Configure installation
- Compile the source package with the required compiler
- Install binaries, i.e. setup the ODABA folder
After installing the package successfully, one may create your own projects or load the ODABA databases in order to view ODABA resource details.
The standard installation does not include .Net support. In order to build the .Net interface see .Net features (sub topic).
The installation is provided as simple .zip file, which can be unpacked easily by calling e.g.
unzip.exe odaba-nn.x.x.zip
nn.x.x stands for current version, subversion and release number. A directory with the name odaba-nn.x.x will be created at the current location. After unpacking one may configure and compile the system with the required compiler.
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.
cd .../odaba-n.n.n (n.n.n is current version, subversion and release number)
set QTDIR=qt_path (when installing GUI framework, only)
configure [--disable-gui] [--prefix=target]
[--with-qt=qt-location]
[--with-zlib=zlib-location]
[--with-libcurl=libcurl-location]
[--with-libzip=libzip-location]
[--with-hunspell=hunspell-location]
[--with-libmicrohttpd=libmicrohttpd-location]
Under Windows systems, libraries are not detected automatically. Using the default configuration without parameters will compile and install the ODABA database, kernel, only. In order to enable installing the GUI framework, the QTDIR environment variable has to be set or Qt include and library paths have to be passed explicitly. For installing library extensions, appropriate --with options have to be passed.
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 ).
HAVE_ZLIB=1 zlib_CFLAGS=-I/usr/include zlib_LIBS=-lzlib \
HAVE_LIBZIP=1 libzip_CFLAGS=-I/usr/include libzip_LIBS=-llibzip \
HAVE_LIBCURL=1 libcurl_CFLAGS=-I/usr/include libcurl_LIBS=-lcurl \
./configure --enable-gui \
--prefix=/tmp/odaba
After unpacking the installation file one may build the base libraries and tools (ODABA) as well as the GUI framework and GUI tools (ODABA GUI). Before, it is suggested to review the make file (Makefile). There is a detailed guide in the file INSTALL that also lists the dependencies for common platforms by name.
In order to build ODABA, following commands have to be called from a command line
.../vsvars32.bat (from your Visual Studio installation folder)
make
After build succeeded, binaries are stored in the bin folder of the installation folder. In addition, several optional components might be included.
When compiling with MS Visual Studio 7, one has to remove optimizations (windows/Makefile.common::C_CPP_FLAGS /O1 instead of /O2) for avoiding compiler bugs.
To get binaries with debug symbols set the environment variable DEBUG. This adds /MDd and /Zi to the compiler and uses 'd' postfixed libraries (e.g. zlibd.lib). Debug libraries with postfix 'd' are required for all optional libraries.
When not all binaries are compiled with the same debug settings, strange things may happen when dynamic libraries get loaded. One may use the DllTest utility or a dependency viewer for DLL's for detecting problems.
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, e.g.
configure.cmd --prefix=C:/Programs/odaba-nn.x.x
In order to install the, the compiler environment has to be set and one should call make from the installation folder:l
.../vsvars32.bat (from your Visual Studio installation folder)
cd .../odaba-nn.x.x (nn.x.x is current version, subversion and release number)
make install
For default configuration (without --prefix) ODABA will be installed on default program folder (e.g. c:\Program Files (x86)\odaba\). After installation, following folders are created below the ODABA root directory odaba:
- binaries are stored in th eODABA root folder
- bat - compile procedures (dafaults) and procedure templates
- doc - compressed online dokumentation
- include - common API header files
- include/odaba - ODABA database API header files
- include/odabagui - ODABA GUI API header files
- lib - link libraries
- ini - sample for default odaba ini-file (should be updated and copied to ODABA root folder
- share/odaba - system databases and maintenance procedures (.sh)
- osi - sample scripts (for data model definition - ODL, script example - OSI and OShell)
- 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, those have to be added to the PATH environment variable. When running ODABA tools from ODABA root folder, no path extension is rweuired, except optional libraries have been installed.
Depending on extensions that have been installed, the following libraries should be moved to the ODABA root folder or have to be added to the PATH environment variable. For VS2010 version, following DLLs are required:
- libcurl.dll
- libhunspell.dll
- libmicrohttp.dll
- zlib1.dll
- zip.dll
- ssleay32.dll
- libeay32.dll
- QtGui4.dll
- QtCore4.dll
- QtWebKit4.dll (for GUI plugin, only)
- phonon4.dll (for GUI plugin, only)
- QtNetwork4.dll (for GUI plugin, only)
- mfc100.dll
- msvcp100.dll
- msvcr100.dll
For VS2017 version, following DLLs are required:
- libcurl.dll
- libhunspell.dll
- libmicrohttp.dll
- zlib1.dll
- zip.dll
- ssleay32.dll
- libeay32.dll
- Qt5Gui.dll
- Qt5Core.dll
- Qt5Widgets.dll
- concrt140.dll
- mfc100.dll
- msvcp140.dll
- vccorlib140.dll
- vcruntime140.dll
- ucrtbased.dll
In order to get access to Qt plugins, one should also create a Qt.conf file in the ODABA root folder with the following content
# THIS FILE Controls the plugin loading for qt-dlls
[Paths]
Prefix=qt-dir
Plugins=qt-dir/plugins/
where qt-dir refers to the Qt installation folder. Qt plugins have not yet been upgraded to for Qt5.
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 tools are started from ODABA root folder.
In order to uninstall ODABA it is sufficient to remove the ODABA root folder that has been created during installation.