Documentation

Version 1.2.0 Beta 1

3. Source Distributions

3.1. General System Requirements

The following 3rd Party Libraries must be available in your development environment for compilation. Links and downloads are here.
  • Log for C++ 0.3.0 or higher
  • Netscape Portable Runtime 4.4.1 or higher
  • TCL 8.0 or higher
  • Xerces C++ XML Parser 2.3.0 or higher
These libraries are optional depending on your installation choices.
  • CppUnit 1.10.2 or higher for building/running unit tests
  • curses (pdcurses 2.6 or ncurses) for the ConsoleCommand plugin
  • GD Graphics Library for building the POVRayDataLayer tool for the POVRayVideo plugin
  • Java JNI for the RMI_Control plugin
  • libcURL 7.14.0 or higher for the SocketsPIC_Control plugin
  • Massively Parallel Quantum Chemistry (MPQC) 2.2.2 or higher for the MPQC_SClib plugin
  • Unidata NetCDF for the NetCDF_DataSet plugin and for use with HiveKeeper
  • Open Babel 1.100.2 for the OpenBabelImportExport plugin (Note: Open Babel version 2.0.0 will not work for this plugin - the API is different.
  • wxWidgets 2.3.4 or higher, with support for OpenGL (ie, configured with --with-opengl) for building HiveKeeper

3.2. MS Windows

Currently the only IDE supported is MSVC++ 6.0.
  1. Install NanoHive-1 as described in the Windows Installer section - check the Sourcecode boxes for the components you want sourcecode for.
  2. Three batch files were installed with your source installation that are optional, but handy for development.

    Edit NanoHive-1\bin\win32-x86\set-env.bat to reflect where you unzipped to. Check the nh-home variable. Check the jdk-path variable if you'll be running the RMI_Control plugin, otherwise you can ignore it.

    The nh-devel environment variable controls whether or not to copy (newly compiled) binaries to their respective locations when NanoHive-1 is run. This is handy for development; set this to "ok", ie, set nh-devel=ok

    The nh-code environment variable determines whether to copy the files from the Debug directory or the Release directory.

  3. Make the 3rd party libraries available. Open the NanoHive-1 Core VC++ workspace (there's a link to this in the NanoHive-1 program group folder.) Cancel the option to Browse for any missing projects. Choose Tools|Options...|Directories and verify, or add the 3rd party Include and Library directories. The 3rd party libraries you'll need are listed in the General System Requirements section of this chapter.
  4. Build to verify 3rd party library availability. Choose Build|Set Active Configuration...|NanoHive - Win32 Release, and click OK. Hit F7 to build NanoHive-1.
  5. Run NanoHive-1. Open a DOS shell, and change to the NanoHive-1\bin\win32-x86 directory, and run the nh batch file. You should get something like the following:
      C:\Program Files\NanoHive-1\bin\win32-x86>nh
      Setting environment for NanoHive-1
      Setting environment for NanoHive-1
      nh-code: Release
        _ESP_Image.dll
      The system cannot find the path specified.
        AIREBO.dll
              1 file(s) copied.
        BasicCellTraverser.dll
              1 file(s) copied.
        BondCalculator.dll
              1 file(s) copied.
        ConsoleCommand.dll
              1 file(s) copied.
        MeasurementSetToFile.dll
              1 file(s) copied.
        MPQC_SClib.dll
              1 file(s) copied.
        nanoML_ImportExport.dll
              1 file(s) copied.
        nanorexMMP_ImportExport.dll
              1 file(s) copied.
        NetCDF_DataSet.dll
              1 file(s) copied.
        NH_SimStateImportExport.dll
              1 file(s) copied.
        OpenBabelImportExport.dll
              1 file(s) copied.
        POVRayVideo.dll
              1 file(s) copied.
        RAMEntityManager.dll
              1 file(s) copied.
        RC_Traverser.dll
              1 file(s) copied.
        REBO_MBM.dll
              1 file(s) copied.
        RMI_Control.dll
              1 file(s) copied.
        SocketsControl.dll
              1 file(s) copied.
        SocketsPIC_Control.dll
              1 file(s) copied.
        NanoHive.exe
              1 file(s) copied.
        POVRayDataLayer.exe
      The system cannot find the path specified.
        HiveKeeper
      The system cannot find the path specified.
      The system cannot find the path specified.
        CppUnit.exe
      The system cannot find the path specified.
        TestPIP.dll
      The system cannot find the path specified.
        TestPIP-2.dll
      The system cannot find the file specified.
    
      NanoHive-1 (TM) Version 1.2.0 Copyright (C) 2004,2005 NanoHive-1, LLC
      NanoHive-1 comes with ABSOLUTELY NO WARRANTY; for details run 'NanoHive -l'
      This is free software, and you are welcome to redistribute it under certain
      conditions; run 'NanoHive -l' for details.
    
      Loading configuration file: C:\Program Files\NanoHive-1\conf\configs.txt
      Logging to C:\Program Files\NanoHive-1/log/NanoHive-1.log
      ConsoleCommand Version 1.2.0 started. (Press Enter to begin interactive mode.)
      SocketsControl Version 1.2.0 started.

    Don't worry about any files that the "system cannot find" if they are plugins you haven't installed the sourcecode for.

That's it. Now go back to the ReadMe for its Where To Start section.

3.3. Unix

System Installation
  1. Install any missing supporting libraries. See General System Requirements above for the list of libraries needed. You may find our Supporting Libraries Build and Installation Notes useful for this step.
  2. Unzip/untar the NanoHive-1 package with: gunzip NanoHive-1-x.x.x.tar.gz; tar xvf NanoHive-1-x.x.x.tar
  3. Change to the NanoHive-1-x.x.x/src directory.
  4. The configure script is used to set up the build and installation. You use it to determine where NanoHive-1 will be installed and what plugins to install. If you run configure with no options, it will set NanoHive-1 up to be installed under /usr/local/ and include only the plugins that don't require additional non-standard libraries (BasicCellTraverser, BondCalculator, ConsoleCommand, MeasurementSetToFile, nanoML_ImportExport, nanorexMMP_ImportExport, NH_SimStateImportExport, RAMEntityManager, RC_Traverser, REBO_MBM, and SocketsControl.) See the Plugin Reference for a description of all plugins.

    Here's how to build and install the basic configuration:

      $ ./configure
      $ make
      $ su
      $ make install
    	

    If you don't want to install as root, or can't, use the --prefix option to install in your home directory:

      $ ./configure --prefix=$HOME
    	

    To install the most typically used, standard plugin set (basic plugins plus AIREBO, MPQC_SClib, NetCDF_DataSet, OpenBabelImportExport, and SocketsPIC_Control), use this configure option:

      $ ./configure --enable-standard-plugin-set
    	

    The following table shows the list of options for each plugin and component allowing you fine control over what gets built and installed. For example, a popular configuration is the standard plugin set, minus the MPQC_SClib plugin, plus the POVRayVideo plugin:

      $ ./configure --enable-standard-plugin-set --disable-mpqc-sclib --enable-povrayvideo
        

    Table 2.1. NanoHive-1 Configure Script Options

    PluginPackageOptionsNotes
    ConsoleCommandbasic--disable-console-commandRequires a curses library to build.
    REBO_MBMbasic--disable-rebo-mbmFails to build with certain compilers, for example, HP's cc/aCC.
    AIREBOstandard--enable-airebo, --disable-aireboRequires a Fortran compiler to build.
    MPQC_SClibstandard--disable-mpqc-sclib, --enable-mpqc-sclibRequires MPQC to build.
    NetCDF_DataSetstandard--disable-netcdf-dataset, --enable-netcdf-datasetRequires netCDF to build.
    OpenBabelImportExportstandard--disable-openbabel, --enable-openbabelRequires OpenBabel to build.
    SocketsPIC_Controlstandard--disable-sockets-pic-control, --enable-sockets-pic-controlRequires libcURL to build.
    _ESP_Imageoptional--enable-esp-imageFor nanoENGINEER-1 support. Requires the GD graphics library to build.
    POVRayVideooptional--enable-povrayvideoIf the GD graphics library is found, the POVRayDataLayer tool will also be built.
    RMI_Controloptional--enable-rmi-controlRequires Java to build. Also add the --with-jdk-prefix option to specify where Java is installed.


    Execute ./configure --help to get the complete list of configuration customization options.

    Here is the directory structure of the installation assuming the default PREFIX of /usr/local.

                       /usr/local/
       _____________________|________________________
      |             |                  |             |
     bin/        include/             lib/    share/NanoHive-1/
      |             |                  |             |
    NanoHive        |        NanoHive-1/<plugins>     |
    NanoHive-config |        libNanoHiveInterface.*  |
                    |        libNanoHiveUtil.*       |
                    |                                |
                NanoHiveInterface/*.h                |
                NanoHiveUtil/*.h                     |
                                                     |
                 ____________________________________|________________________
                |       |               |     |         |         |           |
            classes/  conf/           data/  doc/   examples/  include/    scripts/
                |       |               |     |         |                     |
                |       |               |   index.html  |                 install-examples
                |       |               |               |                 set-env
                |       |               |          hydrogen-abstraction/  nh
                |       |               |          cytosine-guanine/      pv
                |       |               |          nanotube-5x5/
                |       |               |          cnt-esp/
                |       |               |
                |       |      mpeg_encode.param.tmplt
                |       |      simulation-1.0.1.xsd
                |       |      displayDataLogo.png
                |       |      _________|____________
                |       |     |         |            |
                |       |   local/  MPQC_SClib/  REBO_MBM/
                |       |     |         |            |
                |       |     |         |           *.d
                |       |     |     atominfo.kv
                |       |     |     basis/<basis_sets>
                |       |     |
                |       |  en_resultCodes.txt
                |       |
                |    configs-template.txt
                |
           RMI_Control.jar

User Installation
  1. Install the example simulations with the following command:
      PREFIX/share/NanoHive-1/scripts/install-examples
    This will create a NanoHive-1 folder in the directory where the script is run, then copy the examples directory into it, updating example configuration paths on the fly.
  2. The first time you run NanoHive-1, it creates a .NanoHive-1 directory under your home directory where it puts a conf/configs.txt file and log directory.

That's it. Now go back to the ReadMe for its Where To Start section.


Last Modified: 5/17/2006