Very Simple Struct Storage System Code
database library/engine
Status: Alpha
Brought to you by:
petrsilhavy
Copyright (C) 2002,2003,2004,2013,2014,2015,2016,2017,2020,2021,2022
Petr Silhavy <petr.silhavy@@yandex.com>
See file `COPYING' for license conditions.
This directory tree holds version 0.0.x for
Very Simple Struct Storage System - the database library/engine.
VS4 for short. Formerly also known as (D)Zrec and AVLDB .
The file INSTALL in this directory says how to build and install avldb
on various systems, once you have unpacked or checked out the entire avldb
file tree.
https://sourceforge.net/projects/vs4/
**** Rest of this file is probably outdated. ****
Prerequisites
=============
- POSIX IPC
- zlib http://zlib.net
- GLib 2.0 ftp://ftp.gtk.org/pub/glib http://download.gnome.org/sources/glib
- ISO C99 compiler ( tested gcc-4.8.1 gcc-4.8.2, gcc-4.9.0, gcc-6.2.0, gcc-6.3.0 and clang 3.4 )
- A "working" POSIX compatible shell, or GNU bash
If you wish to change code, you'll also need:
---------------------------------------------
- git
- flex (2.6.2 or newer). https://github.com/westes/flex/releases
- bison (3.0.4 tested or newer). https://www.gnu.org/software/bison/ https://ftp.gnu.org/gnu/bison/
- LaTex ( for debugging support - tree visualisation ) https://www.ctan.org
Download
========
Releases may be found at :
https://sourceforge.net/projects/avldb/
AVLDB's git repository can be checked out through anonymous access over
the git or over https protocol. Depending on your network configuration you
may prefer to use one or the other (for instance, if your internet access goes
through a web proxy, it's unlikely that access over http will work).
Checkout over GIT protocol:
git clone git://git.code.sf.net/p/avldb/code avldb-code
Checkout over https:
git clone https://git.code.sf.net/p/avldb/code avldb-code
Configuring and compiling avldb
===============================
Avldb can be build using GNU auto-tools or cmake .
Avldb can be compiled in the source directory but this option is deprecated.
The preferred way is build it in a separate build directory. For example,
if you have unpacked/checkout avldb directory tree to '/usr/src/avldb',
create a directory `/usr/src/avldb-build' to put the object files in. This
allows removing the whole build directory in case an error occurs,
which is the safest way to get a fresh start and should always be done.
Building with autoconf/automake (deprecated - See "Building with cmake" )
=========================================================================
0. Create configure script (if necessary)
If your check-out of GIT repository or extracted tar-ball doesn't
contain `configure' script run from your object directory
autoreconf ../PATH-TO-UNPACKED-SOURCES e.g.
$ cd /usr/src/avldb-build
$ autoreconf ../avldb -i
1. Configuration
From your object directory, run the shell script `configure' located
at the top level of the source tree. In the scenario above, you'd type
$ ../avldb/configure ARGS...
If you want to install avldb library to /usr/lib and includes to
/usr/include specify installation prefix with :
$ ../avldb/configure --prefix=/usr
Please note that even though you're building in a separate build
directory, the compilation may need to create or modify files and
directories in the source directory.
It may also be useful to set the CC and CFLAGS variables in the
environment when running `configure'. CC selects the C compiler that
will be used, and CFLAGS sets optimization options for the compiler.
The following list describes all of the available options for
`configure':
`--prefix=DIRECTORY'
Install machine-independent data files in sub-directories of
`DIRECTORY'. The default is to install in `/usr/local'.
`--exec-prefix=DIRECTORY'
Install the library and other machine-dependent files in
sub-directories of `DIRECTORY'. The default is to the `--prefix'
directory if that option is specified, or `/usr/local' otherwise.
`--disable-shared'
Don't build shared libraries even if it is possible. Not all
systems support shared libraries; you need ELF support and
(currently) the GNU linker.
2. Compilation
To build the library and related programs, type `make'. This will
produce a lot of output, some of which may look like errors from `make'
but isn't. Look for error messages from `make' containing `***'.
Those indicate that something is seriously wrong.
If you want to run a parallel make, simply pass the `-j' option with
an appropriate numeric parameter to `make'. You need a recent GNU
`make' version, though.
Basic test programs (located in tests sub-directory) are build as default.
See chapter `Running tests' for more informations.
3. Installation
To install the library and its header files, and the Info files of the
manual, type `sudo make install' or run `make install' as root.
Building with cmake
===================
0. Configuration
From your object directory, run `cmake ../PATH-TO-UNPACKED-SOURCES'
$ cmake ../avldb
Probably you want to specify an install prefix:
$ cmake ../avldb -DCMAKE_INSTALL_PREFIX=<prefix>
Where <prefix> can be /usr, /usr/local, /opt, etc. The default is /opt/ps .
Note the install prefix is automatically searched for required libraries
and header files, so if you install librt, libz and glib2 to the
same prefix most configuration options are unnecessary ( or if header files
and libraries can be found in standart system paths e.g. `/usr/include` and
`/usr/lib*` on Unix-like system ) .
1. List of recognized cmake variables (cmake -DOption)
Options
-------
CMAKE_INSTALL_PREFIX - install prefix - default "/opt/ps"
AVLDB_SHARED - build shared libraries - default ON
AVLDB_STATIC - build static libraries - default ON)
AVLDB_TESTS - build avldb tests - default ON
AVLDB_HUGE_INTERVAL_BLOCK - use inflatable interval tree" - default OFF
Alternatively you can set/change cmake by :
$ ccmake ../avldb
2. Compilation
To build the library and related programs, type `make'. This will
produce a lot of output, some of which may look like errors from `make'
but isn't. Look for error messages from `make' containing `***'.
Those indicate that something is seriously wrong.
If you want to run a parallel make, simply pass the `-j' option with
an appropriate numeric parameter to `make'. You need a recent GNU
`make' version, though.
Basic test programs (located in tests subdirectory) are build as default.
See chapter `Running tests' for more informations.
3. Instalation
To install the library and its header files, and the Info files of the
manual, type `sudo make install' or run `make install' as root.