Tutorial
Provided the basic installations are performed, and you are informed
about the general ideas, here now you find a general overview on how
to explore the OKlibrary.
About external sources
- The external-sources-overview page, reachable from the local home
page, shows you the status of the current installations.
- And, following the docus-system-link, you find under "Buildsystem"
also a general overview on building external sources. Quickly:
- Building an external source is done via
oklib external_source.
- For example
oklib git or oklib maxima.
- These commands are to be issued (on the command line, as usual)
in directory "OKplatform/ExternalSources" (or below).
The most important external sources you should build are:
- Maxima (via
oklib maxima) provides the
basic level for SAT experimentation, embedding (generalised) SAT into a
Lisp-based computer-algebra system.
- In order to be able to compile C++ programs and documentation we
need the following:
- Doxygen (via
oklib doxygen) is needed
for documentation creation.
- The Gcc compiler suite (via
oklib gcc):
- Especially
g++ is of importance, and here
we need to have full control (so normally our installation
is mandatory).
- Also the C, Fortran, Prolog and Java compiler, which
come with the suite, are of use, but here your system versions
might be sufficient (if existent).
- Libraries (needed to compile the C/C++ programs of our library):
- Boost (via
oklib boost; but see
the installation page)
- Ubcsat (via
oklib ubcsat)
- Mhash (via
oklib mhash)
- Gmp (via
oklib gmp).
- For using the version control system, i.e., browsing through the
history and making (local or global) changes, Git
(via
oklib git) is needed.
About the core library
On the local home page you find links
- to the root of the docus-system, which gives an overview on each
level of the OKlibrary;
- the html documentation link then yields the full extracted
documentation (the docus-system is only a small part of it);
- the main text explains fundamental ideas and rules.
All build-process (like compilation, running tests, building
external sources or creating documentation) use the oklib
program (which you have already encountered during the initial
installation).
The directory structure
Of general importance is the directory structure - it's all there to be
used, so you better familiarise yourself with it.
- Directories starting with small letters are of "systematic nature",
either to be found at many places like the
plans-directories, or otherwise they are used by the
build-system.
- Directories starting with capital letters are "genuine" and of
singular nature.
The main idea of the directory structure is that of a strict hierarchy,
where each internal node is an "administration point" for its subtree.
Documentation systems
Altogether there are 9 systems which provide structured information
about the OKlibrary, subdivided as follows:
- Internet:
- The main purpose of the Internet home page
of the OKlibrary is to provide download information.
- And a link to the mailing lists
and their archives is given, where the mailing lists are
mainly a place for announcements, informal discussions and
questions.
- Local pages:
- The thin layer of local html pages
(like this page) is for general discussion of aims and history,
and to provide general information.
- Documents (created by the Latex system, in
article and book form) provide general theoretical foundations.
- Currently only available at the "global level", with
general topics for the whole library.
- In the future modules will contain their own texts
(for a kind of mathematical foundation).
- The Doxygen system represents source code
and accompanying dedicated summary information.
- Embedded into the Doxygen system is the
docus system, which is there for specific
usage information.
- Also embedded into the Doxygen system is the
demos system, which gives access to the
demonstration programs (which typically are not there to
"run and watch", but to study).
- External sources come with their own
documentation.
- Git (especially
gitk) finally
enables access to the history of the OKlibrary.
Oliver Kullmann
Last modified: Sat Oct 29 20:50:43 BST 2011