Building and testing VDSF on Linux and Unix
Software needed to build the software
The minimal software required to build the package from a tar file:
- The GNU compiler toolkit (gcc). Other compilers might work if they understand gcc inline assembler (unless you want to rewrite the locking code, of course).
- Doxygen and latex are required if you want to build the documentation. The graphviz package is also recommended (doxygen uses it to create graphs).
If you want to retrieve the software directly from the repository, you will need these additional programs.
- A subversion client if you want to retrieve the software directly from the repository.
- autoconf, automake, libtool and friends (autoheader, m4).
Step by step instructions to build directly from the repository.
Warning: these instructions are no longer complete! As an example, the newer version of VDSF (in the repository) uses two additional packages, libxml2 and Error Parser. Error Parser is only needed if you change the code - libxml2 on the other hand is mandatory.
Furthermore, the code in the repository is often in an unstable state (the Subversion message logs are a good indicator of the current status, some times...).
To retrieve the latest version of vdsf, use the following command:
svn export https://vdsf.svn.sourceforge.net/svnroot/vdsf/trunk my_local_dir
Of course, this is a generic command, you can omit the sub-directory trunk to retrieve everything (furthermore, if my_local_dir is left empty, the current directory will be used).
- Run the shell script autogen.sh (in the trunk directory). This will generate everything you need (the makefiles, the configure script). The script will also run configure for you but you might want to rerun it again if you want to change its default options.
- The remaining instructions are similar to the instructions for building the software from a tar file.
Step by step instructions to build the package from a tar file.
Run configure (./configure). Here is the list of options that you might want to use to tailor the package to your needs:
- --enable-i18n The engine will use wide character strings internally for the names of objects. On by default.
- --enable-set-block-size=some_value Sets the size of vdsf blocks (blocks are the basic unit of memory allocation just like pages are for operating systems - the name is different to avoid confusion). Legal values for the size of blocks are 1k, 2k, 4k, 8k or 16k - the default is 8k. You may want to set it at a lower value if you have many small objects and/or have small amount of RAM.
- --enable-dbc Add contract-validation checks to the code. You might want to disable this on production systems for performance reasons. It is on by default.
- --prefix=PREFIX To change the default installation directory (default is /usr/local). Example: --prefix=/usr
- make check. If you want to run the tests but if you do, be patient - it can take a long time (more than 9 minutes on an Intel (R) core duo E6600).
- make install
That's it, all done!
- If you want to run all the tests, have a look at the Optional directories. These tests are not run by default since they may require additional resources not always present on a computer.
The documentation is available as a PDF (in the doc directory) and on-line.
If you want to have the html documentation locally, modify the file
doc/Doxyfile.vds_c (set GENERATE_HTML to YES) and execute the command
Or you can do a svn export of everything (not just the trunk) and do a make in the vdsf/Website directory. This will give you a local copy of the vdsf website, not just the reference manual in html.
Last updated on June 06, 2008.