Troubleshooting NMRPredict Installation.

Table of Contents

1. Directory Structure.

At the top level there should be four directories. (exact names don't matter, but I shall use these for this document.)
 > ls
    csearchdb3abcdghijkmab csearchdb2nz license bin
The bin directory in initially called something like 'nmrccsscXXX' but is renamed in the installation process to 'bin'. (This renaming isn't necessary.)

2. License File

In the license directory there should be the license file:
 > cd license
 > ls
    mc_license2.dat
Do not edit this file as this may make it invalid. You may also place Daylight licenses in this directory.

Normal Start Message.

NMRServer should print out a message like this when it is started for both Windows and Linux.
pc3000 mike >nmrccssc2
WARNING: $NMRLICENSEFILE enviromental variable not defined
####################################################################
#                                                                  #
#                  Modgraph Consultants Limited                    #
#                                                                  #
#  NMRPredict Connected Concurrent SOAP Licensed Server v. : 4.9xx #
#                                                                  #
####################################################################

checkl checking server:nmrccss
29218. nmrccss limitconcurrent=2
checkl checking server:nameduser
29218. Socket connection successful: master socket = 3
29218. waiting on soap_accept on port 9300
And when the clinet connects you should see:
9218. nmrccss limitconcurrent=99
29218. Socket connection successful: master socket = 3
29218. waiting on soap_accept on port 9300
29218. Accepted connection 1 from IP=192.168.0.4 socket=4 gc=1
31132. processRequest 4
29218. waiting on soap_accept on port 9300
31132. ns__connect
Request::login 82
Please report any error messages to Modgraph.

3. Files in bin

In the bin directory there should be the following files: (plus some others)
    nmrccssc2		- the server executable
    amber.prm		- pcmodel data file
    charge8		- the charge executable
    AUTOCF.TXT		- charge data file
    GSEF1.TXT		- charge data file
    GSEF2.TXT		- charge data file
    charmm.prm		- pcmodel data file
    clean		- script to remove unwanted files. The server also removes temporary files every half hour.
    gmmx03		- the gmmx executable (pcmodel conformer generator)
    mclicenseinfo	- program to test license
    mm3.prm		- pcmodel data file
    mmff94.prm		- pcmodel data file
    mmxconst.prm	- pcmodel data file
    nmrinstall		- script to fix up CSEARCH.INI file
    oplsaa.prm		- pcmodel data file
    PARAM8.DAT		- charge data file
    water.prm		- pcmodel data file
    upstream2		- incremental prediction
    resources2		- directory for upstream data
    CSEARCHH.TOC        - data file used in proton prediction
None of these files should be zero length.

4. Testing GMMX03

You can test gmmx03 by typing:
  > cp input.gmmx03 $NMRTEMPDIR
  > cp gmmxi.MOL  $NMRTEMPDIR
  > ./gmmx03 input.gmmx03 $NMRTEMPDIR 1234 ID1234
It should produce nnnnn2.sdf file containing one structure for each conformer in $NMRTEMPDIR.

5. Testing Charge

You can test charge by typing:
  > ./charge8 PARAM8.DAT input.charge a b c d e
The file b should contain a list of chemical shifts. For example:
> cat b
     1.143     LABILE PROTON
     2.924
     2.935
     3.750
     3.729
The file c, should contain the coupling constants. For example:
> cat c
  9  10  -12.5
  9  11    3.9
  9  12   11.8
 10   9  -12.5
 10  11    0.9
 10  12    2.8
 11   9    3.9
 11  10    0.9

5a. Quick Tests

> ./gmmx03 input.gmmx03 `pwd` gmmx

> ./charge8 PARAM8.DAT input.charge a b c d e

> ./upstream2 `pwd`/upstream upstream2d.MOL upstream3d.MOL 11110 CHCL3 null

6. Testing the License

To test the license installation:
 > cd bin
 > ./mclicenseinfo2
 Modgraph License Check
 email: mike@modgraph.co.uk
 
 Your license for  must include the following machine identifiers:
 "cpu type: i686, cpu idno: 551705"
 Your current license is valid for 3 nmrccss user(s)
Indicates the license is valid.
 > mclicenseinfo
 Modgraph License Check
 email: mike@modgraph.co.uk
 
 Your license for  must include the following machine identifiers:
 "cpu type: i686, cpu idno: 551905"
 FAILED: No valid license found.
 Contact Modgraph Support for assistance:
 email: support@modgraph.co.uk
 
 Your license for  must include the following machine identifiers:
 "cpu type: i686, cpu idno: 5251605"
 Your license is invalid
Indicates the license is invalid. This may be because:

7. Starting the Server

When the server is started you must be in the 'bin' directory
    > cd bin
    > ./nmrccssc2
Using NMRTEMPDIR=[/home/mike/nmrpredict/tmp]
####################################################################
#                                                                  #
#                  Modgraph Consultants Limited                    #
#                                                                  #
#  NMRPredict Connected Concurrent SOAP Licensed Server v. : 5.010 #
#                                                                  #
####################################################################

24897. Socket connection successful: master socket = 3
24897. waiting on soap_accept on port 9300

This indicates the server has started sucessfully.
   > ./nmrccssc2
 
Using NMRTEMPDIR=[/home/mike/nmrpredict/tmp]
####################################################################
#                                                                  #
#                  Modgraph Consultants Limited                    #
#                                                                  #
#  NMRPredict Connected Concurrent SOAP Licensed Server v. : 5.010 #
#                                                                  #
####################################################################
Error 21 fault: SOAP-ENV:Server [no subcode]
"Address already in use"
Detail: bind failed in soap_bind()
Please check if Host/Port (9400) is in use (use 'ps -ef | grep nmr'), or wait a few minutes for the connection to time out.
24889.soap_done = 0

This error message indicates the the port is bound to some other application. When an application binds to a port on a particular machine, and then the application is killed (using <ctrl> C or the kill command), the port remains bound until the it times out. This usually takes a few minutes. It may take longer if a client is still using that port.
Check that no other instances of nmrccssc2 are running using the command:
 > ps -ef | grep nmr

The reply should be something like:
mike     23175  4223  0 16:31 pts/1    00:00:00 nmrccssc2
mike     23612  4267  0 22:48 pts/2    00:00:00 grep nmr
You can then kill the offending process using its PID:
> kill -9 23175

If no other instances are running the binding will timeout in a couple of minutes.

8. Server Diagnostics.

At start up the server checks the license and other installation issues.
 > ./nmrccssc2
####################################################################
#                                                                  #
#                  Modgraph Consultants Limited                    #
#                                                                  #
#  NMRPredict Connected Concurrent SOAP Licensed Server v. : 5.010 #
#                                                                  #
####################################################################

nmrccss 2012 03 28 (99)
CheckCSearch: checking  /home/mike/nmrpredict/csearchdb2acdm/CSEARCH.EXT
CheckCSearch: checking  /home/mike/nmrpredict/csearchdb2nz/CSEARCH.UST
5392. Socket connection successful: master socket = 3
5392. waiting on soap_accept on port 9300
or you may get
FAILED: No valid license found.
    Contact Modgraph Support for assistance:
    email: support@modgraph.co.uk

Your license for  must include the following machine identifiers:
   "cpu type: i686, cpu idno: 525161605"
nmrccss 2006 03 28 (0)
No license found for nmrccss. Please contact: support@modgraph.co.uk
In which case please email the message to Modgraph support.
When NMRServer starts it also detect other instances running on the same machine. If this exceed the licnese concurrent cound it reports
login: LICENSE: Bad process found for nmrccss
You can check what processes are running using; for linux
> ps -ef | grep nmr
or using the Task manager for Windows.
  • Missing Libraries. If when you start the server you receive a message 'unable to find library ..... please contact Modgraph. You can check what shared libraries are required using:
     > ldd nmrccssc2
    
    and then check the various executables
     > nmrccssc2
     > upstream2
     > gmmx03
     > charge8
    

    9. If you intend to close the terminal window.

    If you intend to close the terminal window in which nmrccssc2 is running, then start the server like this:
     > ./nmrccssc2 > /dev/null
    
    or better still, place the following in a script file
       #/bin/sh
        ./nmrccssc2 > logfile 2>&1 &
    
    It is useful to run the server as above the first time so that any errors can be observed.

    10. SDF Import and Edit Screen.

    When Updating the Database, if you get errors such as;
    ERROR: during update of structure 1
    CSearchDBA: SdfPut failed: ERROR: Stage 1 CSearch CBTOCS failed, please check /home/nmrpredict/nmrccssdb/cbtocsexe27154.sh Status=5019
    
    you can check the script manually on the server. This applies to errors at any stage. The server produces a script file called something like cbtocsexe27154.sh and runs this to update the database. The script file will contain something like:
    #!/bin/sh 
    cd /home/nmrpredict/nmrccssdb 
    ./cbtocs < /home/nmrpredict/nmrccssdb/cbtocs31999.inf 
    >/home/nmrpredict/nmrccssdb/cbtocs31999.otf 
     2>/home/nmrpredict/nmrccssdb/cbtocs31999.etf 
    
    Just run this bit and check whether there is a problem with cbtocs or c13add. You will be able to observe the error messages and forward them to Modgraph..
    ./cbtocs < /home/nmrpredict/nmrccssdb/cbtocs31999.inf 
    or 
    ./cbtocs < cbtocs31999.inf 
    
    There may be obvious errors such as 'Unable to write file' which could be caused by the directory permissions. Check that the bin directory is writable using
     > ls -al
    
    or ask your system manager.

    11. Problems with the Windows Client.

    You may need to configure Linux Firewall and/or Selinux in order to connect successfully. Care should be taken however not to open up your system to unwanted intrusions.

    12. ENTER PATHNAME FOR DATABASE FILES.

    This message is printed on the terminal when the server is started or when a prediction is run. If you run the program from anywhere but from within the bin directory you get the error on the server console "ENTER PATHNAME FOR DATABASE FILES".

    13. CSEARCH Installation error.

    On starting the server an error message is output: CSEARCHDIR1 is not defined or CSEARCH Installation error: check CSEARCHDIR1 (CSEARCH.EXT). No such file or directory. [/home/mike/nmrpredict/bin/CSEARCH.EXT] Check the files in the database folder; This directory should look like this: File sizes may differ.
    cd $CSEARCHDIR1
    ls -al
    total 5980
    drwxrwxr-x  10 mike mike    4096 Nov 15 22:43 ./
    drwxr-x---  55 mike mike    4096 Nov 15 08:16 ../
    drwxr-xr-x   2 mike mike    4096 Sep  5 18:25 B11/
    drwxr-xr-x   2 mike mike    4096 Oct  3 17:22 C13/
    -rw-r--r--   1 mike mike    7350 Oct  3 17:22 CSEARCH.BNL
    -rw-r--r--   1 mike mike  494656 Oct  3 17:22 CSEARCH.BNT
    -rw-r--r--   1 mike mike    2727 Oct  3 17:22 CSEARCH.CCL
    -rw-r--r--   1 mike mike    6740 Oct  3 17:22 CSEARCH.CFG
    -rw-r--r--   1 mike mike   24370 Oct  3 17:22 CSEARCH.CLS
    -rw-r--r--   1 mike mike    1658 Oct  3 17:22 CSEARCH.CMD
    -rw-r--r--   1 mike mike    6314 Oct  3 17:22 CSEARCH.COL
    -rw-r--r--   1 mike mike    1377 Oct  3 17:22 CSEARCH.CPU
    -rw-r--r--   1 mike mike   13024 Oct  3 17:22 CSEARCH.DFL
    -rw-r--r--   1 mike mike    1418 Oct  3 17:22 CSEARCH.EXP
    -rw-r--r--   1 mike mike    4930 Oct  3 17:22 CSEARCH.EXT
    -rw-r--r--   1 mike mike    2250 Oct  3 17:22 CSEARCH.FRM
    -rw-r--r--   1 mike mike      94 Oct  3 17:22 CSEARCH.GLP
    -rw-r--r--   1 mike mike     111 Oct  3 17:22 CSEARCH.INI
    -rw-r--r--   1 mike mike   17259 Oct  3 17:22 CSEARCH.JCM
    -rw-r--r--   1 mike mike   12314 Oct  3 17:22 CSEARCH.JMP
    -rw-r--r--   1 mike mike      75 Oct  3 17:22 CSEARCH.JOT
    -rw-r--r--   1 mike mike    2328 Oct  3 17:22 CSEARCH.LEC
    -rw-r--r--   1 mike mike    1485 Oct  3 17:22 CSEARCH.LIT
    -rw-r--r--   1 mike mike    8091 Oct  3 17:22 CSEARCH.LSY
    -rw-r--r--   1 mike mike   24881 Oct  3 17:22 CSEARCH.MAN
    -rw-r--r--   1 mike mike    7874 Oct  3 17:22 CSEARCH.MAS
    -rw-r--r--   1 mike mike   15638 Oct  3 17:22 CSEARCH.MEN
    -rw-r--r--   1 mike mike    7874 Oct  3 17:22 CSEARCH.MSI
    -rw-r--r--   1 mike mike    7874 Oct  3 17:22 CSEARCH.MSJ
    -rw-r--r--   1 mike mike   70984 Oct  3 17:22 CSEARCH.MTC
    -rw-r--r--   1 mike mike     203 Oct  3 17:22 CSEARCH.NEW
    -rw-r--r--   1 mike mike   22864 Oct  3 17:22 CSEARCH.ORI
    -rw-r--r--   1 mike mike   77744 Oct  3 17:22 CSEARCH.PAT
    -rw-r--r--   1 mike mike     379 Oct  3 17:22 CSEARCH.PIC
    -rw-r--r--   1 mike mike     504 Oct  3 17:22 CSEARCH.PPI
    -rw-r--r--   1 mike mike    1188 Oct  3 17:22 CSEARCH.PRN
    -rw-r--r--   1 mike mike    5053 Oct  3 17:22 CSEARCH.RES
    -rw-r--r--   1 mike mike     278 Oct  3 17:22 CSEARCH.RUL
    -rw-r--r--   1 mike mike     467 Oct  3 17:22 CSEARCH.SCR
    -rw-r--r--   1 mike mike    3232 Oct  3 17:22 CSEARCH.SDF
    -rw-r--r--   1 mike mike    3195 Oct  3 17:22 CSEARCH.SDF.chembase
    -rw-r--r--   1 mike mike    3171 Oct  3 17:22 CSEARCH.SDF.isisbase
    -rw-r--r--   1 mike mike   60554 Oct  3 17:22 CSEARCH.SER
    -rw-r--r--   1 mike mike   64172 Oct  3 17:22 CSEARCH.SET
    -rw-r--r--   1 mike mike  246726 Oct  3 17:22 CSEARCH.SSY
    -rw-r--r--   1 mike mike     177 Oct  3 17:22 CSEARCH.TAB
    -rw-r--r--   1 mike mike   15047 Oct  3 17:22 CSEARCH.TEX
    -rw-r--r--   1 mike mike 4689280 Oct  3 17:22 CSEARCH.TOC
    drwxr-xr-x   2 mike mike    4096 Sep  5 18:26 F19/
    drwxr-xr-x   2 mike mike   12288 Oct  4 10:57 mol/
    drwxr-xr-x   2 mike mike    4096 Sep  5 18:27 N15/
    drwxr-xr-x   2 mike mike    4096 Sep  5 18:27 O17/
    drwxr-xr-x   2 mike mike    4096 Oct  4 17:47 P31/
    drwxr-xr-x   2 mike mike    4096 Sep  5 18:27 SI9/
    

    14.Problems with library libstdc++

    If you get a message when starting the server that libstdc++.so.nn.mm, you need to install compat-libstdc++. You can check further by typing:
    > ldd nmrccssc2
    
    You will need to check the version against the operation system you have. You should seek advice from your Linux Systen Administration.
    Please go to http://rpm.pbone.net/