At this time, moleculizer and its associated programs are delivered either as source code or in standalone binary form. Here, "standalone" means not requiring a web server to deliver documentation and run simulations. The web-server-based version of moleculizer will be available in a later delivery.
This 1.0 delivery of moleculizer has been compiled, tested and used under Suse Linux 9.0. Other Linux distributions should not present too many installation problems, but there are some. Red Hat Linux typically delivers somewhat older, more stable versions of development software; in particular an earlier version of "make" is delivered that, in the past, has failed to work with some moleculizer makefiles.
Moleculizer has some prerequisite libraries, most of which are in the Suse Linux distribution. Also, the prerequisite library libxml++ is distributed in source form, so that a C++ compiler is needed even for the binary installation.
The prerequisite packages are the same for both the source and standalone binary installations:
| Package | Version in Suse 9.0 (after patches) | Description/Purpose | Alternative source |
|---|---|---|---|
| gcc-c++ | 3.3.1-24 | Gnu C++ compiler, libraries, etc. | http://gcc.gnu.org/ |
| make | 3.80-96 | Building software, managing file dependencies. | http://www.gnu.org/software/make/ |
| libxml2-devel | 2.5.10-32 | XML parsing library, with headers for compiling libxml++. | http://www.xmlsoft.org/ |
| gsl | 1.3-148 | The Gnu Scientific Library. | http://www.gnu.org/software/gsl/ |
| pkgconfig | 0.15.0-104 | Tool for automatically configuring the use of libraries; needed by libxml++. | http://www.freedesktop.org/software/pkgconfig/ |
| gnuplot | 3.7.3-106 | Plotting | http://www.gnuplot.info/ |
Suse Linux's "Yast" installer and package manager is the easiest way to do this. After installing the versions in the Suse distribution, you will probably want to run "Yast Online Update" to get patches to upgrade to the latest and greatest. libxml2 in particular has been patched for security reasons.
Another library important to moleculizer is libxml++, a C++ wrapper for the XML parsing library libxml2. The version of this library delivered with Suse Linux 9.0 is too old. A more recent version is included with moleculizer. Follow the instructions in the included libxml++ delivery to install this library.
| Library | Version with moleculizer | Description/Purpose | Alternative source |
|---|---|---|---|
| libxml++ | 1.0.0 | C++ wrapper library for libxml2. | http://libxmlplusplus.sourceforge.net/ |
The standalone binary is designed to install "non-invasively." It does not put any files outside of its own directory. If you decide that moleculizer is not for you, then you can remove it from your system by just removing the directory it came in.
A concomitant of this approach is that, if you want to make moleculizer available to multiple users, then you will want to place the moleculizer directory somewhere where all users can get to it, such as,say, /usr/local/share.
With this approach to delivery, each user's environment must be 'set up' to find moleculizer executables, libraries etc. In particular, the library search path, LD_LIBRARY_PATH, must be set to find moleculizer libraries. One side effect of this is that unprivileged pseudo-users such as "nobody" cannot use this delivery, since LD_LIBRARY_PATH is disabled for such users for security reasons.
Copy the directory "standalone-xmloperator" into your home directory with the new name ".xmloperator". This name makes it generally "invisible" in your home directory:
cp -r standalone-xmloperator ~/.xmloperator
If you use the bash shell, add the following two lines to your shell startup file, .bashrc, so that your environment will be enhanced to point to moleculizer binaries, etc. Note that there are only TWO lines; don't be foooled by word-wrap in your web browser. (Newlines do make a difference in shell!)
test -s ~/.xmloperator/moleculizer/xmlo_rc && . ~/.xmloperator/moleculizer/xmlo_rc
test -s ~/.xmloperator/moleculizer/user.molrc && . ~/.xmloperator/moleculizer/user.molrc
Your shell startup file .bashrc is "invisible" in the same way as .xmloperator; run "ls -a" in your home directory to see if you have it. If you don't, you should copy /etc/skel/.bashrc to your home directory and add the lines above. In a GUI desktop environment, like kde or gnome, you may need to log out, then log back in for these changes to take effect.
If you use another shell, you will want to "source" the same files, ~/.xmloperator/moleculizer/xmlo_rc and ~/.xmloperator/moleculizer/user.molrc. These files are "sh-compatible" shell scripts, so that they should work with any shell.
As an alternative, for a quick test of your installation, you can just "enhance" your current (bash) shell by running
. ~/.xmloperator/moleculizer/xmlo_rc
. ~/.xmloperator/moleculizer/user.molrc
but other shells you start will not be affected (enhanced).
You can check your installation by copying the demo directory to your home directory and running "make" in your copy of the demo directory. This should run all the short demos, which takes less than 3 minutes on a 2.5 GHz Xeon machine. "make long" should run two additional, longer demos, requiring about 12 minutes.
Another check on your installation that you can do is to run the XML editor xmloperator, which you can run from the command line via the alias "xmlo". Try opening one of the demo input documents, say demo/simple/simple.xml. xmloperator will make a guess about what kind of XML document you are opening; the right one is "moleculizer-input(static-doc)". Here, "static-doc" is connected with your having the standalone installation, in which documentation is provided in the form of static HTML files on the installation machine. Consult the user guide for more information about accessing documentation from xmloperator.