Install – v. 2.0

# Unidatab version 2.0.x

1. Package content and requirements
2. Compilation and installation
3. Running the main executable: unid-adm
4. Configuring the server and command line client
5. See also

*** 1. Package content and requirements ***

This packages contains:

– Administrator console (unid-adm)
– TCP server (unid-serv)
– TCP client (unid-clic)

and links against or uses parts of the following free software:

– *Boost::regex (Boost license
– *CryptoPP (Boost license –
– SimpleNetwork (MIT license –
– *Gnu Readline (GPL –
– *SQLite3 (Public domain –

*: this software should be installed in standard locations before
any compilation attempt.

*** 2. Compilation and installation ***

Once downloaded and decompressed, Unidatab can be installed from its top directory
by running:

$ make

which is a shorthand to :

$ make all

This action results in compiling the various executables under the bin/
and lib/ directories.
The make command lines can also be sent for each target one by one:

$ make adm
$ make serv
$ make clic

or for debugging purpose:

$ make all-debug

which amounts to:

$ make adm-debug
$ make serv-debug
$ make clic-debug

$ make install

This command uses ‘sudo’ internally and requires user to be listed in the sudoers;
it modifies the home directory as well as /usr/local which is needed for sql_help
(so don’t use ‘$ sudo make install’ but only ‘$ make install’ at command line!).

A different prefix can be passed (absolute path only):

$ make install PREFIX=/opt/Unidatab ; — registrated sudoer still required

Local folders:

~/Unidatab/bin — which contains the newly built executables
~/Unidatab/lib — the shared library
~/Unidatab/run/example — where are created new config files and sample db
~/Unidatab/run — where belong the current configuration files
— and databases (left untouched).

Global folders and files:

/usr/local/bin/{unid-adm,unid-clic,unid-serv} — plus debug instances;
/usr/local/lib/ — to link Unidatab classes in another project;
/usr/local/share/doc/Unidatab — help files;

*** 3. Running the main executable: unid-adm ***

unid-adm ensures administration tasks like adding or deleting users,
setting their privileges etc…

Launching unid-adm:

$ path-to/unid-adm path-to/<mydb.unid> <username>

The default password is always set to ‘adminp’ when the base is created and can
only be updated later.

Running the main test suite:

? unidtest

Creating Unid Default Set of records:

? unidset

Help on Unidatab SQL functions, and SQL objects can be obtained either by:

? select sql_help(”);

for the whole set, or specifying the argument by name, e.g.:

? select sql_help(‘subsume’);

or more simply

? help — or:

? help subsume

The difference being that ‘sql_help()’ can gather remote files (in unid-clic)
while ‘help’ (in unid-adm) takes the local ones.

*** 4. Running the server and command line client ***

Installation: see above.

Configuration: edit unid.ini in order to set correct username, databases and path.

A start command can now be sent as:

$ ~/Unidatab/bin/unid-serv ~/Unidatab/run/example/unid.ini

verbose output is muted by logging to a file with:

$ ~/Unidatab/bin/unid-serv ~/Unidatab/run/example/unid.ini -l mylogfile.txt

Start a client session from another shell/machine with:

$ ~/Unidatab/bin/unid-clic localhost 8765 test.unid admin