Share

Monday, February 22, 2010

B Nanohive-1 Install


Nanohive-1 Install Notes

http://nanoengineer-1.com/nh1/index.php?option=com_staticxt&staticfile=ReadMe-body.html&Itemid=43
http://nanoengineer-1.com/nh1/index.php?option=com_content&task=view&id=34&Itemid=44
http://sourceforge.net/projects/nano-hive/files/1.%20Nano-Hive%20Core%20and%20Plugins/Nano-Hive%201.2.0%20Beta%201/Nano-Hive-1.2.0-Beta-1.tar.gz/download
http://nanoengineer-1.com/nh1/index.php?option=com_staticxt&staticfile=bodyframe/SourceInstallation.html
  • 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

This distribution contains all sourcecode for the Nano-Hive core and all plugins, plus documentation, but no binaries.





Nano-Hive-1.2.0-Beta-1.tar.gz [3.00 Mb]
ReadMe




3rd Party Libraries for Developers

A number of additional 3rd party packages must be available in your
development environment for compilation. Below are links to their
websites, and here is a
Supporting Libraries Build and Installation Notes to help get them installed.



Log for C++ 0.3.0 or higher

#added the -dev also and it went on to npsr error - this is the log 0.3.0 install

liblog4cpp5

liblog4cpp5-dev

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

# http://sourceforge.net/projects/log4cpp/files/log4cpp-0.3.x%20%28old%29/0.3.3/log4cpp-0.3.3.tar.gz/download

#wget log4-cpp.0.3.3.tar.gz

#/tmp$ chmod 777 log4cpp-0.3.3.tar.gz

#cd log4cpp/

#cd log4cpp-0.3.3/

./configure
make
make check
make install

#In file included from /usr/include/c++/4.2/backward/strstream:51,
                 from ../include/log4cpp/OstringStream.hh:20,
                 from ../include/log4cpp/AppenderSkeleton.hh:14,
                 from ../include/log4cpp/LayoutAppender.hh:15,
                 from ../include/log4cpp/RemoteSyslogAppender.hh:16,
                 from RemoteSyslogAppender.cpp:21:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
In file included from RemoteSyslogAppender.cpp:21:
../include/log4cpp/RemoteSyslogAppender.hh:31: error: comma at end of enumerator list
../include/log4cpp/RemoteSyslogAppender.hh:56: error: comma at end of enumerator list
make[1]: *** [RemoteSyslogAppender.lo] Error 1
make[1]: Leaving directory `/home/l/log4cpp/log4cpp-0.3.3/src'
make: *** [install-recursive] Error 1


#i used the file broswer to search for RemoteSyslogAppender
#it has a different process number each time it runs
#/proc/8264/cwd/src/RemoteSyslogAppender.cpp

#/proc/22537/cwd/include/log4cpp
#/proc/8264/cwd/include/log4cpp/RemoteSyslogAppender.hh
#line 31
#    LOG_DEBUG   = 7,
#line 31 corrected
#    LOG_DEBUG   = 7
#line 56
#    LOG_LOCAL7   = (23<<3), ///< reserved for local use
#line 56 corrected
#    LOG_LOCAL7   = (23<<3)
#that error is solved

#In file included from /usr/include/c++/4.2/backward/strstream:51,
                 from ../include/log4cpp/OstringStream.hh:20,
                 from ../include/log4cpp/PatternLayout.hh:15,
                 from PatternLayout.cpp:11:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
PatternLayout.cpp:128: error: invalid in-class initialization of static data member of non-integral type 'const char* const'
PatternLayout.cpp:129: error: invalid in-class initialization of static data member of non-integral type 'const char* const'
PatternLayout.cpp:130: error: invalid in-class initialization of static data member of non-integral type 'const char* const'
PatternLayout.cpp: In constructor 'log4cpp::TimeStampComponent::TimeStampComponent(std::string)':
PatternLayout.cpp:134: error: 'FORMAT_ISO8601' was not declared in this scope
PatternLayout.cpp:136: error: 'FORMAT_ABSOLUTE' was not declared in this scope
PatternLayout.cpp:138: error: 'FORMAT_DATE' was not declared in this scope
make[1]: *** [PatternLayout.lo] Error 1
make[1]: Leaving directory `/home/l/log4cpp/log4cpp-0.3.3/src'
make: *** [all-recursive] Error 1

#/proc/22537/cwd/src/PatternLayout.cpp
#line 128
#   struct TimeStampComponent : public PatternLayout::PatternComponent {
        static const char* const FORMAT_ISO8601 = "%Y-%m-%d %H:%M:%S,%l";
        static const char* const FORMAT_ABSOLUTE = "%H:%M:%S,%l";
        static const char* const FORMAT_DATE = "%d %b %Y %H:%M:%S,%l";

#
#from http://man.sourcentral.org/MDV20090/3+log4cpp::TimeStampComponent
#     struct TimeStampComponent : public PatternLayout::PatternComponent {
        static const char* const FORMAT_ISO8601;
        static const char* const FORMAT_ABSOLUTE;
        static const char* const FORMAT_DATE;



#i changed it to this
        TimeStampComponent(std::string timeFormat) {
            if ((timeFormat == "") || (timeFormat == "ISO8601")) {
                timeFormat = FORMAT_ISO8601;
            } else if (timeFormat == "ABSOLUTE") {
                timeFormat = FORMAT_ABSOLUTE;
            } else if (timeFormat == "DATE") {
                timeFormat = FORMAT_DATE;
           }

#that seems to take care of the problem
#try to install again
#/.configure
#make

#../include/log4cpp/config.h:79:17: warning: extra tokens at end of #ifndef directive
#In file included from /usr/include/c++/4.2/backward/strstream:51,
                 from ../include/log4cpp/OstringStream.hh:20,
                 from ../include/log4cpp/Category.hh:14,
                 from testmain.cpp:7:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
/bin/sh ../libtool --mode=link g++  -g -O2 -Wall -Wno-unused -pedantic   -o testmain  testmain.o ../src/liblog4cpp.la -lnsl
mkdir .libs
g++ -g -O2 -Wall -Wno-unused -pedantic -o .libs/testmain testmain.o  ../src/.libs/liblog4cpp.so -lnsl -Wl,--rpath -Wl,/usr/local/lib
../src/.libs/liblog4cpp.so: undefined reference to `log4cpp::TimeStampComponent::FORMAT_DATE'
../src/.libs/liblog4cpp.so: undefined reference to `log4cpp::TimeStampComponent::FORMAT_ISO8601'
../src/.libs/liblog4cpp.so: undefined reference to `log4cpp::TimeStampComponent::FORMAT_ABSOLUTE'
collect2: ld returned 1 exit status
make[1]: *** [testmain] Error 1
make[1]: Leaving directory `/home/l/log4cpp/log4cpp-0.3.3/tests'
make: *** [all-recursive] Error 1

#http://pastebin.com/f67370a0c
#from file
#/proc/22537/cwd/tests/testmain.cpp
#/proc/13187/cwd/include/log4cpp.h





#Netscape Portable Runtime 4.4.1 or higher
#from package manager and worked as the nspr install
#libnspr4-0d
#libnspr-dev

ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.4.1/
wget ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.4.1/src/nspr-4.4.1.tar.gz
#Download Mozilla Soucre
#tar -xjf <source-file.tar.bz2>
#
tar -xjfv <source-file.tar.bz2>

This release is built from the source, at the CVS repository rooted at cvs.mozilla.org:/cvsroot, with the CVS tag NSPR_4_4_1_RTM. You can check out the source from CVS by cvs co -r NSPR_4_4_1_RTM mozilla/nsprpub


#cd nspr4.4.1/

#cd nspr-4.4.1/

#cd mozilla/
#cd nsprpub/

#~/nspr4.4.1/nspr-4.4.1/mozilla/nsprpub

#To build, do


cd mozilla/nsprpub


./configure

#sudo ln -s /usr/bin/make /usr/bin/gmake

gmake export



TCL 8.0 or higher

#wget http://sourceforge.net/projects/tcl/files/Tcl/8.0/tcl8.0.tar.gz/download

#tcl
#tcllib
#tcl-dev

#there is a patch, i am not using it this first time
#patch -p < tcl8.0p1.patch
    If the patch file has a .gz extension, invoke a command like the
    following:
        gunzip -c tcl8.0p1.patch.gz | patch -p
    If the patch file has a .Z extension, it was compressed with
    compress.  To apply it, invoke a command like the following:
        zcat tcl8.0p1.patch.Z | patch -p
    If you're applying a patch to a release that has already been
    compiled, then before applying the patch you should cd to the
    "unix" subdirectory and type "make distclean" to restore the
    directory to a pristine state

#cd tcl8.0/
#cd unix/
./configure
#If the make fails then you'll have to personalize the Makefile
    for your site or possibly modify the distribution in other ways.
    First check the file "porting.notes" to see if there are hints
    for compiling on your system.  Then look at the porting Web page
    described later in this file.  If you need to modify Makefile, there
    are comments at the beginning of it that describe the things you
    might want to change and how to change them.

make
#make: *** No targets specified and no makefile found.  Stop.
#from Makefile.in i do not see this file:
#TOOL_DIR =        $(TOP_DIR)/tools
#do i need to add the tcl Makefile to the PATH ?
#this did not work
#l@EV007:~/tcl8/tcl8.0/unix$ PATH=/home/l/tcl8/tcl8.0/unix/Makefile:$PATH export PATH
#l@EV007:~/tcl8/tcl8.0/unix$ echo $PATH
#/home/l/tcl8/tcl8.0/unix/Makefile:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

#checking for gethostbyname... yes
#checking system version (for dynamic loading)... ./configure: 1: Syntax error: Unterminated quoted string
#l@EV007:~/tcl8/tcl8.0/unix$ make
#make: *** No targets specified and no makefile found.  Stop.

#look in unix/configure and linux/configure.in
# Step 1: set the variable "system" to hold the name and version number
# for the system.  This can usually be done via the "uname" command, but
# there are a few systems, like Next, where this doesn't work.

#is this line right?
#TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.0'

#from Makefile.ini
# The information below should be usable as is.  The configure
# script won't modify it and you shouldn't need to modify it
# either.

#CC_SWITCHES =    ${CFLAGS} ${TCL_SHLIB_CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} \
#${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
#${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\"

#should "${SHLIB_SUFFIX}\"
#"${SHLIB_SUFFIX}"\
#same error with that change

#the error with the quote is here
#if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
        system=MP-RAS-`awk '{print $3}' /etc/.relid'`
#
#the error is here
#system=MP-RAS-`awk '{print $3}'  /etc/.relid'`
#the correct line should say
#system=MP-RAS-`awk '{print $3}' '/etc/.relid'`

#after correcting that this error happens
#checking for sys/filio.h... no
#checking FIONBIO vs. O_NONBLOCK for nonblocking I/O... ./configure: 1: Syntax error: Unterminated quoted string

#this line is wrong
#system=MP-RAS-`awk '{print $3}' /etc/.relid'`
#this line is right
system=MP-RAS-`awk '{print $3}' '/etc/.relid'`

#make
#l@EV007:~/tcl8/tcl8.0/unix$ make
cc -c -O  -I./../generic -I. -DHAVE_GETCWD=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DSTDC_HEADERS=1 -DNEED_MATHERR=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1        -DTCL_SHLIB_EXT=\".so"  ./../generic/panic.c
/bin/sh: Syntax error: Unterminated quoted string
make: *** [panic.o] Error 2

#from the unix/Makefie    not Makefile.in
#CC_SWITCHES =    ${CFLAGS} ${TCL_SHLIB_CFLAGS} -I${GENERIC_DIR} -I${SRC_DIR} \
${AC_FLAGS} ${MATH_FLAGS} ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
${COMPILE_DEBUG_FLAGS} ${ENV_FLAGS} -DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}"\

#the last line is wrong
#-DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}"\
#the correct line is
-DTCL_SHLIB_EXT=\"${SHLIB_SUFFIX}\"

#make

cc -c -O  -I./../generic -I. -DHAVE_GETCWD=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DSTDC_HEADERS=1 -DNEED_MATHERR=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1        -DTCL_SHLIB_EXT=\".so\" ./../generic/tclPosixStr.c
./../generic/tclPosixStr.c: In function ‘Tcl_ErrnoId’:
./../generic/tclPosixStr.c:340: error: duplicate case value
./../generic/tclPosixStr.c:328: error: previously used here
./../generic/tclPosixStr.c: In function ‘Tcl_ErrnoMsg’:
./../generic/tclPosixStr.c:787: error: duplicate case value
./../generic/tclPosixStr.c:775: error: previously used here
make: *** [tclPosixStr.o] Error 1

make install

# At this point you can play with Tcl by invoking the "tclsh"
# program and typing Tcl commands.  However, if you haven't installed
    Tcl then you'll first need to set your TCL_LIBRARY variable to
    hold the full path name of the "library" subdirectory.  Note that
    the installed versions of tclsh, libtcl.a, and libtcl.so have a
    version number in their names, such as "tclsh8.0" or "libtcl8.0.so";
    to use the installed versions, either specify the version number
    or create a symbolic link (e.g. from "tclsh" to "tclsh8.0").
If you have trouble compiling Tcl, read through the file" porting.notes".
It contains information that people have provided about changes they had
to make to compile Tcl in various environments.  Or, check out the
following Web URL:
    http://www.sunlabs.com/cgi-bin/tcl/info.8.0
This is an on-line database of porting information.  We make no guarantees
that this information is accurate, complete, or up-to-date, but you may
find it useful.  If you get Tcl running on a new configuration, we would
be happy to receive new information to add to "porting.notes".  You can
also make a new entry into the on-line Web database.  We're also interested
in hearing how to change the configuration setup so that Tcl compiles out
of the box on more platforms.


Xerces C++ XML Parser 2.3.0 or higher

# http://xerces.apache.org/xerces-c/download.cgi
#trying from package manager
libxerces27
libxerces27-dev


#i do not see xerces 2.3.0, i will try 2.8.0
# http://www.alliedquotes.com/mirrors/apache/xerces/c/2/binaries/xerces-c_2_8_0-x86_64-linux-gcc_3_4.tar.gz
#chmod 777 xerces-c_2_8_0-x86_64-linux-gcc_3_4.tar.gz
#gzip -d xerces-c-src_2_8_0.tar.gz
#tar -xf xerces-c-src_2_8_0.tar
#cd xerces/
#cd xerces-c_2_8_0-x86_64-linux-gcc_3_4/
#You will need to add the
xerces-c_2_8_0-{arch}-{os}-{compiler}/bin directory to your
PATH environment variable:
#
export PATH="$PATH:<full-path-to-xerces-c_2_8_0-{arch}-{os}-{compiler}>/bin"
export PATH="$PATH:/home/l/xerces/xerces-c_2_8_0-x86_64-linux-gcc_3_4/bin"

#If you wish to make this setting permanent, you need to change
your profile by changing your setup files which can be either
.profile or .kshrc.



#In addition, you will also need to set the library search path.
(LIBPATH on AIX, LD_LIBRARY_PATH



#In the following shell commands, the <xerces-path>
denotes the full path to the
xerces-c_2_8_0-{arch}-{os}-{compiler} directory. For
Bourne Shell, K Shell or Bash, type:

#export LD_LIBRARY_PATH=<xerces-path>/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/home/l/xerces/xerces-c_2_8_0-x86_64-linux-gcc_3_4/lib:$LD_LIBRARY_PATH


#cd src/xercesc
./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread


Documentation

Additional Libraries For Plugins and Tools


















































Plugin/Tool
Library
ConsoleCommand
pdcurses 2.6 or ncurses
HiveKeeper
wxWidgets 2.3.4 or higher, with support for OpenGL
MPQC_SClib
Massively Parallel Quantum Chemistry (MPQC) 2.2.2 or higher
NetCDF_DataSet and HiveKeeper
Unidata NetCDF
OpenBabelImportExport
Open Babel 1.100.2 Note: Open Babel version 2.0.0 won't work for this plugin - the API is different.
POVRayVideo
GD Graphics Library (for the POVRayDataLayer tool)
RMI_Control
Java JNI libraries
SocketsPIC_Control
libcURL 7.14.0 or higher
Unit tests
CppUnit 1.10.2 or higher


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.




Install any missing supporting libraries
Supporting Libraries Build and Installation Notes
Nano-Hive-Docs-1.2.0-Beta-1.zip
Nano-Hive-Docs-1.2.0-Beta-1.tar.gz

chmod 777 Nano-Hive-1.2.0-Beta-1.tar.gz

#Unzip/untar the NanoHive-1 package
#gunzip NanoHive-1-x.x.x.tar.gz
#tar xvf NanoHive-1-x.x.x.tar


Change to the
NanoHive-1-x.x.x/src directory
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

./configure --help
`configure' configures Nano-Hive 1.2.0-Beta-1 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
              [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
              [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR           user executables [EPREFIX/bin]
  --sbindir=DIR          system admin executables [EPREFIX/sbin]
  --libexecdir=DIR       program executables [EPREFIX/libexec]
  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
  --libdir=DIR           object code libraries [EPREFIX/lib]
  --includedir=DIR       C header files [PREFIX/include]
  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
  --infodir=DIR          info documentation [PREFIX/info]
  --mandir=DIR           man documentation [PREFIX/man]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-standard-plugin-set
                          install the standard plugin set
  --enable-airebo         install the AIREBO plugin
  --disable-console-command
                          don't install the ConsoleCommand plugin
  --enable-cppunit-tests  install the CppUnit test suites
  --enable-esp-image      install the _ESP_Image plugin for nanoENGINEER-1
                          support
  --enable-mpqc-sclib     install the MPQC_SClib plugin
  --enable-netcdf-dataset install the NetCDF_DataSet plugin
  --enable-openbabel      install the OpenBabelImportExport plugin
  --enable-povrayvideo    install the POVRayVideo plugin
  --disable-rebo-mbm      don't install the REBO_MBM plugin
  --enable-rmi-control    install the RMI_Control plugin
  --enable-sockets-pic-control
                          install the SocketsPIC_Control plugin
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --enable-shared[=PKGS]
                          build shared libraries [default=yes]
  --enable-static[=PKGS]
                          build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-docs-build     create docs Makefiles

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-tags[=TAGS]
                          include additional configurations [automatic]
  --with-log4cpp-prefix=PREFIX
                          find Log for C++ installed under PREFIX
  --with-log4cpp-exec-prefix=EPREFIX
                          the exec prefix where Log for C++ binaries were
                          installed
  --with-nspr-prefix=PREFIX
                          find NSPR installed under PREFIX
  --with-nspr-exec-prefix=EPREFIX
                          the exec prefix where NSPR binaries were installed
  --with-tcl-prefix=PREFIX
                          find TCL installed under PREFIX
  --with-xerces-prefix=PREFIX
                          find Xerces-C installed under PREFIX
  --with-zlib-prefix=PREFIX
                          find zlib installed under PREFIX
  --with-cppunit-prefix=PREFIX
                          find CppUnit installed under PREFIX
  --with-cppunit-exec-prefix=EPREFIX
                          the exec prefix where CppUnit binaries were
                          installed
  --with-mpqc-prefix=PREFIX
                          find MPQC installed under PREFIX
  --with-mpqc-exec-prefix=EPREFIX
                          the exec prefix where MPQC binaries were installed
  --with-openbabel-prefix=PREFIX
                          find OpenBabel installed under PREFIX
  --with-jdk-prefix=PREFIX
                          find the JDK installed under PREFIX
  --with-jni-machine=MACHINE
                          tell JNI to use typedefs for MACHINE
  --with-curl-prefix=PREFIX
                          find libcURL installed under PREFIX
  --with-curl-exec-prefix=EPREFIX
                          the exec prefix where libcURL binaries were
                          installed

Some influential environment variables:
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
              headers in a nonstandard directory <include dir>
  CC          C compiler command
  CFLAGS      C compiler flags
  CPP         C preprocessor
  F77         Fortran 77 compiler command
  FFLAGS      Fortran 77 compiler flags
  CXXCPP      C++ preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <bugs@nano-hive.org>

#this bypasses most of the install
sudo ./configure --prefix=$HOME --enable-standard-plugin-set --disable-console-command --disable-mpqc-sclib --disable-openbabel --disable-sockets-pic-control

#get pdcurses 2.6
# http://sourceforge.net/projects/pdcurses/files/pdcurses/2.6/PDCurses-2.6.tar.gz/download
#xaw3dg  widget set
#get ncurses 5.4
#http://ftp.gnu.org/pub/gnu/ncurses/
#http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.4.tar.gz
#./configure
#make
#su root
#make install
#installed ncurses 5.6
#http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
#ncurses 5.7
#sudo make install

#fortan 77 from package manager
#g77
#g773.4

checking for inflateEnd in -lz... yes
checking for working ncurses... no
*** ncurses is required to build the ConsoleCommand plugin, but it was not
*** found. Either install the latest ncurses
*** (http://www.gnu.org/software/ncurses/), or use the --disable-console-command
*** option.

checking for poll... yes

checking for location of X headers... configure: error: Cannot find required Xaw header file Box.h; XCurses cannot be configured


l@EV007:~/pdcurses2.6/PDCurses-2.6$


#sudo apt-get install ncurses-base ncurses-bin ncurses-term libncurses5 libncurses5-dev

./configure
#
./configure --disable-console-command
./configure --enable-standard-plugin-set
make
su root
make install

                 from PIP_Thread.h:34,
                 from PIP_ThreadPool.h:34,
                 from PIP_ThreadPool.cpp:20:
./../include/NanoHiveUtil/CommandResult.h:40:17: warning: "/*" within comment
In file included from PIP_ThreadPool.h:38,
                 from PIP_ThreadPool.cpp:20:
./../include/NanoHiveUtil/CommandResult.h:40:17: warning: "/*" within comment
In file included from ./../include/NanoHiveUtil/Command.h:36,
                 from ./../include/NanoHiveInterface/NH_Commands.h:35,
                 from PIP_ThreadPool.h:39,
                 from PIP_ThreadPool.cpp:20:
./../include/NanoHiveUtil/CommandResult.h:40:17: warning: "/*" within comment
PIP_ThreadPool.cpp: In member function ‘nanohive::PIP_Thread* nanohive::PIP_ThreadPool::getThread(int, int)’:
PIP_ThreadPool.cpp:104: error: cast from ‘nanohive::PIP_Thread*’ to ‘int’ loses precision
PIP_ThreadPool.cpp: In member function ‘bool nanohive::PIP_ThreadPool::hasRunningThreads()’:
PIP_ThreadPool.cpp:120: warning: comparison between signed and unsigned integer expressions
./../include/NanoHiveUtil/Utility.h: At global scope:
./../include/NanoHiveUtil/Utility.h:117: warning: ‘nanohive::NSPRcodeToMeaning’ defined but not used
make[2]: *** [NanoHive-PIP_ThreadPool.o] Error 1
make[2]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make: *** [all] Error 2

make

 from ./../include/NanoHiveInterface/NH_Commands.h:35,
                 from PIP_ThreadPool.h:39,
                 from PIP_ThreadPool.cpp:20:
./../include/NanoHiveUtil/CommandResult.h:40:17: warning: "/*" within comment
PIP_ThreadPool.cpp: In member function ‘nanohive::PIP_Thread* nanohive::PIP_ThreadPool::getThread(int, int)’:
PIP_ThreadPool.cpp:104: error: cast from ‘nanohive::PIP_Thread*’ to ‘int’ loses precision
PIP_ThreadPool.cpp: In member function ‘bool nanohive::PIP_ThreadPool::hasRunningThreads()’:
PIP_ThreadPool.cpp:120: warning: comparison between signed and unsigned integer expressions
./../include/NanoHiveUtil/Utility.h: At global scope:
./../include/NanoHiveUtil/Utility.h:117: warning: ‘nanohive::NSPRcodeToMeaning’ defined but not used
make[1]: *** [NanoHive-PIP_ThreadPool.o] Error 1
make[1]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make: *** [install-recursive] Error 1

./../include/NanoHiveUtil/CommandResult.h:40:17: warning: "/*" within comment
In file included from ./../include/NanoHiveUtil/Command.h:36,
                 from ./../include/NanoHiveInterface/NH_Commands.h:35,
                 from PIP_ThreadPool.h:39,
                 from PIP_ThreadPool.cpp:20:
./../include/NanoHiveUtil/CommandResult.h:40:17: warning: "/*" within comment
PIP_ThreadPool.cpp: In member function ‘nanohive::PIP_Thread* nanohive::PIP_ThreadPool::getThread(int, int)’:
PIP_ThreadPool.cpp:104: error: cast from ‘nanohive::PIP_Thread*’ to ‘int’ loses precision
PIP_ThreadPool.cpp: In member function ‘bool nanohive::PIP_ThreadPool::hasRunningThreads()’:
PIP_ThreadPool.cpp:120: warning: comparison between signed and unsigned integer expressions
./../include/NanoHiveUtil/Utility.h: At global scope:
./../include/NanoHiveUtil/Utility.h:117: warning: ‘nanohive::NSPRcodeToMeaning’ defined but not used
make[2]: *** [NanoHive-PIP_ThreadPool.o] Error 1
make[2]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make: *** [all] Error 2

#checking for xsltproc... /usr/bin/xsltproc
checking for doxygen... no
checking for log4cpp-config... no
*** Log for C++ version 0.3.0 or later is required, but it was not found.
*** Either install the latest Log for C++ (http://log4cpp.hora-obscura.de/), or
*** adjust your PATH environment variable or use the --with-log4cpp-prefix or
*** --with-log4cpp-exec-prefix options so that the log4cpp-config script for
*** your installation can be found

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
./configure --help to get the complete list of configuration customization options


#This seems to have gotten me to the next error
./configure --prefix=$HOME --enable-standard-plugin-set --disable-console-command

checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for xsltproc... /usr/bin/xsltproc
checking for doxygen... no
checking for log4cpp-config... /usr/bin/log4cpp-config
checking for Log for C++ version >= 0.3.0... yes
checking for nspr-config... /usr/bin/nspr-config
checking for NSPR version >= 4.4.1... yes
checking for tclConfig.sh in /root/lib... no
checking for tclConfig.sh in /usr/local/lib... no
checking for tclConfig.sh in /usr/lib... yes
checking for TCL version >= 8... yes
checking for Xerces-C... yes
checking for zlib.h in /root/include... no
checking for zlib.h in /usr/local/include... no
checking for zlib.h in /usr/include... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for inflateEnd in -lz... yes
checking how to get verbose linking output from g77... -v
checking for Fortran libraries of g77...  -L/usr/lib/gcc/x86_64-linux-gnu/3.4.6 -L/usr/lib/gcc/x86_64-linux-gnu/3.4.6/../../../../lib -L/usr/lib/gcc/x86_64-linux-gnu/3.4.6/../../.. -L/lib/../lib -L/usr/lib/../lib -lfrtbegin -lg2c -lm -lgcc_s
checking for sc-config... no
*** MPQC version 2.2.2 or later is required to build the MPQC_SClib
*** plugin, but it was not found. Either install the latest MPQC
*** (http://www.mpqc.org/), adjust your PATH environment variable or use the
*** --with-mpqc-prefix or --with-mpqc-exec-prefix options so that the
*** sc-config script for your installation can be found, or specify the
*** --disable-mpqc-sclib option.

#from package manager install mpqc
#mpqc
#mpqc-support
./configure --prefix=$HOME --enable-standard-plugin-set --disable-console-command --disable-mpqc-sclib

#that gets me to this error
#checking for free_NC_attr in -lnetcdf... no
*** NetCDF version 3.5.0 or later is required to build the NetCDF_DataSet
*** plugin, but it was not found. Either install the latest netCDF
*** (http://www.unidata.ucar.edu/software/netcdf/), or don't specify the
*** --enable-netcdf-dataset option

#from package manager install python-netcdf
#python-netcdf
#libnetcdf4
#libnet-dev

*** OpenBabel version 1.100.2 or later is required to build the
*** OpenBabelImportExport plugin, but neither the openbabel/babelconfig.h file
*** nor the openbabel/version.h file could be found. Either install OpenBabel
*** version 1.100.2 (not 2.0) (http://openbabel.sourceforge.net/), use the
*** --with-openbabel-prefix option, or specify the --disable-openbabel
*** option

#openbabel
#libopenbabel2
#libopenbabel-dev

*** It appears that you have OpenBabel 2.0 installed, unfortunately the
*** OpenBabelImportExport plugin currently only supports OpenBabel 1.x, either
*** install OpenBabel 1.100.2
*** (http://sourceforge.net/project/showfiles.php?group_id=40728), use the
*** --with-openbabel-prefix option to specify where your 1.100.2 installation
*** is, or don't specify the --enable-openbabel option

./configure --prefix=$HOME --enable-standard-plugin-set --disable-console-command --disable-mpqc-sclib --disable-openbabel

checking for free_NC_attr in -lnetcdf... yes
checking for curl-config... no
*** libcURL version 070e00 or later is required to build the
*** SocketsPIC_Control plugin, but it was not found. Either install the latest
*** libcURL (http://curl.haxx.se/libcurl/), or adjust your PATH environment
*** variable or use the --with-curl-prefix or --with-curl-exec-prefix options so
*** that the curl-config script for your installation can be found,
*** or use the --disable-sockets-pic-control option

./configure --prefix=$HOME --enable-standard-plugin-set --disable-console-command --disable-mpqc-sclib --disable-openbabel --disable-sockets-pic-control
su root
make
make install

./../include/NanoHiveUtil/CommandResult.h:40:17: warning: "/*" within comment
PIP_ThreadPool.cpp: In member function ‘nanohive::PIP_Thread* nanohive::PIP_ThreadPool::getThread(int, int)’:
PIP_ThreadPool.cpp:104: error: cast from ‘nanohive::PIP_Thread*’ to ‘int’ loses precision
PIP_ThreadPool.cpp: In member function ‘bool nanohive::PIP_ThreadPool::hasRunningThreads()’:
PIP_ThreadPool.cpp:120: warning: comparison between signed and unsigned integer expressions
./../include/NanoHiveUtil/Utility.h: At global scope:
./../include/NanoHiveUtil/Utility.h:117: warning: ‘nanohive::NSPRcodeToMeaning’ defined but not used
make[2]: *** [NanoHive-PIP_ThreadPool.o] Error 1
make[2]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make: *** [all] Error 2

/proc/19736/cwd/NanoHiveUtil/Util.cpp
/* FUNCTION: GetNSPR_MeaningForCode */
/**
 * Returns a human-readable string for the given NSPR code.
 */
std::string Utility::GetNSPR_MeaningForCode(PRErrorCode errorCode) {
    std::string meaning;
    if ((errorCode < (-6000L)) || (errorCode > (-5926L)))
        meaning =
            std::string("Unknown error code (").append(itos(errorCode))
            .append(")");

    else
        meaning = std::string(NSPRcodeToMeaning[errorCode + 6000]);
    return meaning;
}

/home/l/nh1/Nano-Hive-1.2.0-Beta-1/include/NanoHiveUtil/Util.h:117
// Note: need to add 6000 to the returned NSPR code to get the index used here.
static const char* NSPRcodeToMeaning[75] = {
    "PR_OUT_OF_MEMORY_ERROR - Insufficient memory to perform request.",



Here's how to build and install the basic configuration:
Install the example simulations with the following command:
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.
PREFIX/share/NanoHive-1/scripts/install-examples

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.




Libraries have been installed in:
   /root/lib/Nano-Hive

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.

libtool: install: warning: remember to run `libtool --finish /usr/local/lib/Nano-Hive'
libtool --finish /usr/local/lib/Nano-Hive

The program 'libtool' is currently not installed.  You can install it by typing:
sudo apt-get install libtool
bash: libtool: command not found
# y for yes



#calling NH-1 from NE-1
Last PropMgr <PyQt4.QtGui.QWidget object at 0x214c050> doesn't have method update_props_if_needed_before_closing. That's OK (for now, only implemented for Plane PM). Ignoring Exception: <type 'exceptions.AttributeError'>: update_props_if_needed_before_closing
  [Ui_PartWindow.py:343]
bug: ignoring exceptions when using getEquilibriumDistanceForBond, like this one: <type 'exceptions.ImportError'>: No module named sim
  [bond_constants.py:358] [PyrexSimulator.py:77] [PyrexSimulator.py:23]
error trying to import dylib sim: <type 'exceptions.ImportError'>: No module named sim
  [runSim.py:783]
no _simopts
exception opening trace file '/home/l/Nanorex/Untitled.2010-01-08-19-26-47-trace.txt': <type 'exceptions.IOError'>: [Errno 2] No such file or directory: '/home/l/Nanorex/Untitled.2010-01-08-19-26-47-trace.txt'
  [runSim.py:1929]





/home/l/ne1/cad/src/simulation/runSim.py:1929

def print_sim_warnings(self): #bruce 050407; revised 060109, used whether or not we're not printing warnings continuously
        """
        Print warnings and errors from tracefile (if this was not already done);
        then print summary/finishing info related to tracefile.
        Note: this might change self.said_we_are_done to False or True, or leave it alone.
        """
        # Note: this method is sometimes called after errors, and that is usually a bug but might sometimes be good;
        # caller needs cleanup about this.
        # Meanwhile, possible bug -- not sure revisions of 060109 (or prior state) is fully safe when called after errors.
        if not self.tracefileProcessor:
            # we weren't printing tracefile warnings continuously -- print them now
            try:
                simopts = self._simopts
            except:
                # I don't know if this can happen, no time to find out, not safe for A8 to assume it can't [bruce 060705]
                print "no _simopts"
                simopts = None
            self.tracefileProcessor = TracefileProcessor(self, simopts = simopts)
                # this might change self.said_we_are_done and/or use self.traceFileName, now and/or later
            try:
                tfile = self.traceFileName
            except AttributeError:
                return # sim never ran (not always an error, I suspect)
            if not tfile:
                return # no trace file was generated using a name we provide
                        # (maybe the sim wrote one using a name it made up... nevermind that here)
            try:
 #1929
      ff = open(tfile, "rU") # "U" probably not needed, but harmless
            except:
                #bruce 051230 fix probably-unreported bug when sim program is missing
                # (tho ideally we'd never get into this method in that case)
                print_compact_traceback("exception opening trace file %r: " % tfile)
                env.history.message( redmsg( "Error: simulator trace file not found at [%s]." % tfile ))
                self.tracefileProcessor.mentioned_sim_trace_file = True #k not sure if this is needed or has any effect
                return
            lines = ff.readlines()
            ## remove this in case those non-comment lines matter for the summary (unlikely, so add it back if too slow) [bruce 060112]
##            lines = filter( lambda line: line.startswith("#"), lines )
##                # not just an optimization, since TracefileProcessor tracks non-# lines for status info
            ff.close()
            for line in lines:
                self.tracefileProcessor.step(line)
        # print summary/done
        self.tracefileProcessor.finish()
        return


/sbin/ldconfig
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
sudo /sbin/ldconfig


#/home/l/include/NanoHiveUtil/CommandResult.h
# Comment out this line
# * \c data/local/*_resultCodes.txt file to decode the result codes


make[2]: *** [libNanoHiveInterface_la-DataModel.lo] Error 1
make[2]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src/NanoHiveInterface'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src'
make: *** [all] Error 2



#/home/l/nh1/Nano-Hive-1.2.0-Beta-1/src/NanoHiveInterface/libNanoHiveInterface_la-DataModel.loT
# libNanoHiveInterface_la-DataModel.lo - a libtool object file
# Generated by ltmain.sh - GNU libtool 1.5.6 (1.1220.2.95 2004/04/11 05:50:42)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object




Atom::Atom(const Atom& orig) {
    id = orig.id;
    pathType = orig.pathType;
    elementType = new char[strlen(orig.elementType) + 1];
    strcpy(elementType, orig.elementType);
    for (int i = 0; i < 3; i++) {
        position[i] = orig.position[i];
        velocity[i] = orig.velocity[i];
        acceleration[i] = orig.acceleration[i];
        dAcceleration1[i] = orig.dAcceleration1[i];
        dAcceleration2[i] = orig.dAcceleration2[i];
    }
}


l@EV007:~/nh1/Nano-Hive-1.2.0-Beta-1/src$ sudo ./configure --enable-standard-plugin-set --disable-console-command --disable-mpqc-sclib --disable-openbabel --disable-sockets-pic-control --disable-parallel --enable-shared