general.hpp File Reference

Plans regarding building of concrete external sources. More...

Go to the source code of this file.

Detailed Description

Plans regarding building of concrete external sources.

Complete documentation
  • For the following external sources, docus are missing:
    1. Coq
    2. March
    3. Minisat
    4. Mpfr
    5. Satz
    6. SP
  • Most of the current docus are not complete (or are not up-to-date).
  • An overview is needed on the correct way use the diff and patch tools. This should then be moved to docus.
  • One has two packages, an "original" package and an updated version.
  • The task is to produce a "patch" file. This contains the difference between the original and updated package. This is done using the diff tool.
  • This file can then be applied to the original package by another user. The application of the patch occurs using the patch tool.
  • The standard method:
    • The old package is in directory A (with files, subdirectories etc).
    • The updated package is in directory B.
    • Both packages are in the same parent directory.
    • From the parent directory run:
      diff -ruN A B > patchfile
    • The flags "r", "u" and "N" specify that the diff should:
      • Be recursive over the given directories.
      • Be unified. That is, 3 lines of context are printed for each difference.
      • Treat non-existant files as empty files.
    • The patch file can then be applied from inside the directory of the package to be patched by running:
      patch -p1 < patchfile
    • Note, the filenames to be updated are included in the patchfile.
    • The "-p" argument here specifies the number of directories to remove from the file paths in the patchfile when looking for the files to patch.
    • So using "-p1", if a file was originally in A/file1, the patch tool will look for this file in file1 rather than A/file1.
    • "-p1" is important here, as we are inside the package directory and so must ignore the original package directory names.
Enable local/global installation for all packages
Organisation of links
  • There should be one main page for SAT-installation (compare "Installation in general" in Buildsystem/ExternalSources/SpecialBuilds/plans/SAT.hpp), and similar also for all other subjects.
  • On these overview-pages then we place also links to software which is not included (since it's not open-source).
  • Then we need also (in the doxygen-system) a general overview page on external sources, which contains all links to these special overview pages.
  • Perhaps best we keep the current local-system overview page on external sources, and link it with the general doxygen overview page. This current page ("External Sources overview and index page") perhaps is then only called "External Sources index page".
  • The new external-sources-overview page then occurs also on the local home page, under "Documentation".
Installation of C/C++ tools
Supporting Java
SAT-applications in evolutionary biology
Matrix libraries
Logic programming
Other sources:
  • Build a local version of Xerces.
  • Investigate the Poco C++ library (http://www.pocoproject.org; see also [C Vu, 19:2, pages 12-15]).
  • SOCI (soci.sourceforge.net) ?
  • gcc-xml (www.gccxml.org) ?
Suspending running processes
  • It would be useful to be able to suspend running processes during experimentation, and then wrap scripts in such a way that SIGTERM is caught and running experiments suspended.
  • In such a way, we don't lose experiments if a machine is accidentally shut down.
  • Cryopid at http://cryopid.berlios.de/ seems to offer this.
    1. The web page was last updated 2005?
    2. However, the mailing list seems to have continual activity (see https://lists.berlios.de/pipermail/cryopid-devel/2009-May/thread.html ).

Definition in file general.hpp.