****************************************************

               OVAL Interpreter

          Build Instructions - Linux

  Copyright (c) 2002-2012, The MITRE Corporation

****************************************************

The MITRE Corporation developed the OVAL Interpreter to 
demonstrate the usability of the OVAL Language. The source for
the OVAL Interpreter is freely available for reference use. This
document describes the steps you need to build the OVAL 
Interpreter on a Linux system.

For information about using the OVAL Interpreter refer to the README.txt
file included with the OVAL Interpreter, or the OVAL Web site.

      OVAL Interpreter:
      http://oval.mitre.org/language/download/interpreter/index.html

BY USING THE OVAL INTERPRETER, YOU SIGNIFY YOUR ACCEPTANCE OF THE
TERMS AND CONDITIONS OF USE.  IF YOU DO NOT AGREE TO THESE TERMS,
DO NOT USE THE OVAL INTERPRETER.  SEE THE TERMS.TXT FILE INCLUDED
WITH THE OVAL INTERPRETER.


-- CONTENTS --

  I     OVERVIEW
          A. Source Distribution
          B. Source Distribution Contents
          C. Supporting Libraries
  II    BUILD INSTRUCTIONS
          A. PCRE Library
          B. Xerces Library
          C. Xalan Library
          D. RPM Libraries
          E. APT Libraries
          F. Libgcrypt Library
          G. OpenLDAP Library
          H. Building the OVAL Interpreter
  III   PCRE
  IV    XERCES
  V     XALAN
  VI    LIBGCRYPT
  VII	OPENLDAP
  VIII  REPORTING PROBLEMS
  IX    USEFUL LINKS

-- I -- OVERVIEW --

Download the appropriate installation files from the OVAL Interpreter SourceForge site.

  A. Source Distributions

       The source for the OVAL Interpreter is freely available on the OVAL
	   Interpreter SourceForge site.  There is currently a bzipped tarball for Linux users 
       that contains all of the source code as well as a Makefile for 
       the OVAL Interpreter.  To download the source go to:

            http://sourceforge.net/projects/ovaldi/files/

	   The latest source for the OVAL Interpreter is also freely available on
	   the OVAL Interpreter SourceForge site and can be accessed via SVN.
	   Please see the following link for more information:
	   
	       http://sourceforge.net/scm/?type=svn&group_id=215469		
			
  B. Source Distribution Contents

       The source code distribution contains the source for
       the OVAL Interpreter. The source distribution does not include
       the source for the libraries needed to compile the OVAL Interpreter.

  C. Supporting Libraries

       The OVAL Interpreter relies on five C/C++ libraries that can be found
       on the web. See sections III - VII for more information about the
       specific libraries used and where to download their source from.
     
-- II -- BUILD INSTRUCTIONS --

The following instructions describe how to build the OVAL Interpreter on a
Linux system.  The OVAL Interpreter has been built and tested on the 32-bit version
of Red Hat Enterprise Linux 5. The source distribution includes a Makefile that 
can be used to build the OVAL Interpreter on Linux systems. Before the OVAL 
Interpreter can be built, the supporting libraries must be installed. Follow the 
instruction below to setup and install the supporting libraries.

  A. PCRE (Perl-compatible regular-expression) Library
 
       Red Hat and Red Hat Enterprise Linux generally include the PCRE 
       library.  If it has not been installed your system, it is easiest
       to simply install the pcre-devel RPM, available from Red Hat via
       your install media or Internet download method.

  B. Xerces Library

       The OVAL Interpreter uses the open source Xerces library.  The
       binary was compiled with version 2.7.0 of the xerces-c library.  From
       the Xerces Web site:

         "This product includes software developed by the Apache Software
	     Foundation (http://www.apache.org/)."

       For more information about Xerces visit:

         http://xml.apache.org

       The source code is also available at the above Web site.

       Note: Our ovaldi RPM places a pre-compiled copy of this library into
             /usr/lib/ovaldi to reduce the dependencies that an unsophisticated
             user would need to resolve.

  C. Xalan Library

       The OVAL Interpreter uses the open source Xalan library.  The
       binary was compiled with version 1.10.0 of the xalan-c library.  From
       the Xalan Web site:

         "This product includes software developed by the Apache Software
	     Foundation (http://www.apache.org/)."

       For more information about Xerces visit:

         http://xml.apache.org

       The source code is also available at the above Web site.

       Note: Our ovaldi RPM places a pre-compiled copy of this library into
             /usr/lib/ovaldi to reduce the dependencies that an unsophisticated
             user would need to resolve.

  D. RPM

      The OVAL Interpreter can be compiled to utilize libraries provided by 
      the RPM Package Manager (RPM) in order to complete certain RPM-specific tasks.
      Utilizing RPM libraries will allow the OVAL Interpreter to execute RPM
      Probes.

      For more information about RPM please visit:
        http://www.rpm.org

  E. APT

      The OVAL Interpreter can be compiled to utilize libraries provided by 
      the Advanced Packaging Tool (APT) in order to complete certain APT-specific tasks.
      Utilizing APT libraries will allow the OVAL Interpreter to execute DPKG
      Probes.
      
      For more information about APT please visit:
        http://en.wikipedia.org/wiki/Advanced_Packaging_Tool

  F. Libgcrypt Library

       You can get the source from http://www.gnupg.org/download/#libgcrypt and build it
	   yourself, or you can usually get a binary package using an installer specific
	   to your flavor of Linux (e.g. RPM for redhat, APT for debian).  The ovaldi
	   Makefile already includes the proper variables and commandline to link to
	   Libgcrypt, and should work if the libraries and headers are in standard places.
	   If not, you may need to make adjustments.

       For more information about Libgcrypt please visit:
         http://www.gnupg.org/related_software/libraries.en.html#lib-libgcrypt
		 
  G. OpenLDAP Library
  
      The OVAL Interpreter utilizes the open source OpenLDAP library to
      execute the LDAP probe.  From the OpenLDAP Web site:

      "The OpenLDAP Project is a collaborative effort to develop a robust, 
      commercial-grade, fully featured, and open source LDAP suite of 
      applications and development tools. The project is managed by a
      worldwide community of volunteers that use the Internet to communicate,
      plan, and develop the OpenLDAP Suite and its related documentation."

      For more information about OpenLDAP visit:
        
        http://www.openldap.org/

      The source code is also available at the above Web site.	
  	
  H. Building the OVAL Interpreter

      After installing the PCRE, Xerces, Xalan, and Libgcrypt libraries, change into the 
      directory:

        <path to ovaldi directory>\project\linux

      From that directory, simply run "make" to build the OVAL Interpreter.
 
-- III -- PCRE --

The OVAL Interpreter uses the open source PCRE library.  The OVAL Interpreter
currently uses version 8.x of the PCRE library.  From the PCRE Web site:

  "Regular expression support is provided by the PCRE library 
   package, which is open source software, written by Philip Hazel,
   and copyright by the University of Cambridge, England."

The PCRE library is under the BSD License and is re-distributed in
ovaldi-x.x.x-setup.exe. As a result, a copy of the license
(LICENCE.pcre) has been provided.    
   
For more information about PCRE visit:

    http://www.pcre.org

To download the source code for PCRE, please use the following FTP
site:

    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

-- IV -- XERCES --

The OVAL Interpreter uses the open source Xerces library.  The
binary was compiled with version 2.7.0 of the xerces-c library.  From
the Xerces Web site:

  "This product includes software developed by the Apache Software
  Foundation (http://www.apache.org/)."

The Xerces library is under the Apache 2.0 License and is re-distributed
in ovaldi-x.x.x-setup.exe and ovaldi-libs-x.x.x-1.i386.rpm. As a result, 
a copy of the license (LICENCE.xerces_xalan) has been provided.    
  
For more information about Xerces visit:

    http://xml.apache.org

The source code is also available at the above Web site.


    Note: Our ovaldi RPM places a pre-compiled copy of this library into
          /usr/lib/ovaldi to reduce the dependencies that an unsophisticated
          user would need to resolve.


-- V -- XALAN --

The OVAL Interpreter uses the open source Xalan library.  The
binary was compiled with version 1.10.0 of the xalan-c library.  From
the Xalan Web site:

  "This product includes software developed by the Apache Software
  Foundation (http://www.apache.org/)."

The Xalan library is under the Apache 2.0 License and is re-distributed
in ovaldi-x.x.x-setup.exe and ovaldi-libs-x.x.x-1.i386.rpm. As a result,
a copy of the license (LICENCE.xerces_xalan) has been provided.
  
For more information about Xalan visit:

    http://xml.apache.org

The source code is also available at the above Web site.

-- VI -- LIBGCRYPT --

The OVAL Interpreter uses the open-source Libgcrypt library.  The binary
was compiled with version 1.4.6 of the Libgcrypt library.  From the
Libgcrypt Web site:

	"Libgcrypt is a general purpose cryptographic library based on the
	code from GnuPG. It provides functions for all cryptographic building
	blocks: symmetric ciphers, hash algorithms, MACs, public key
	algorithms, large integer functions, random numbers and a lot of
	supporting functions."
  
For more information about Libgcrypt visit:
    http://www.gnupg.org/related_software/libraries.en.html#lib-libgcrypt

The source code is also available at the above Web site.

-- VII -- OPENLDAP --
  
      The OVAL Interpreter utilizes the open source OpenLDAP library to
      execute the LDAP probe.  The binary was compiled with version 2.3.27 of the
      OpenLDAP library.  From the OpenLDAP Web site:

      "The OpenLDAP Project is a collaborative effort to develop a robust, 
      commercial-grade, fully featured, and open source LDAP suite of 
      applications and development tools. The project is managed by a
      worldwide community of volunteers that use the Internet to communicate,
      plan, and develop the OpenLDAP Suite and its related documentation."

      For more information about OpenLDAP visit:
        
        http://www.openldap.org/

      The source code is also available at the above Web site.	

-- VIII -- REPORTING PROBLEMS --

To report a problem with OVAL Interpreter, please add a bug tracker item,
or create a post on the OVAL Interpreter Help Project Forum, with a brief
description of the problem on the OVAL Interpreter SourceForge site
(http://sourceforge.net/projects/ovaldi/support). Please include the
platform that the OVAL Interpreter was run on, the version of the OVAL
Interpreter, and the OVAL Definitions document that was used.

-- IX -- USEFUL LINKS --

OVAL Web site -- http://oval.mitre.org

OVAL Interpreter Source Code -- http://sourceforge.net/projects/ovaldi/files/

OVAL Interpreter Wiki -- http://sourceforge.net/apps/mediawiki/ovaldi/index.php?title=Main_Page

----------------------------------------------------------
OVAL is sponsored by US-CERT at the U.S. Department of Homeland
Security. OVAL and the OVAL logo are trademarks of The MITRE
Corporation. Copyright 2002-2012, The MITRE Corporation (www.mitre.org).


