Troubleshooting NMRPredict Installation.
Table of Contents
At the top level there should be four directories. (exact names don't matter, but I shall use these for this document.)
> ls
csearchdb2abcdghab 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.)
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.
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.
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.
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
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:
- You do not have a valid license file.
- the license is out of date.
- the DY_LICENSEDIR environmental variable is not defined or does not point to the directory containing the mc_license2.dat file
- the license file has been edited or corrupted. This may typically happen when the file is FTP'd from windows to unix in 'ascii' mode.
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. : 4.940 #
# #
####################################################################
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. : 4.940 #
# #
####################################################################
Error 21 fault: SOAP-ENV:Server [no subcode]
"Address already in use"
Detail: bind failed in soap_bind()
Please check if Host/Port (9300) 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.
At start up the server checks the license and other installation issues.
> ./nmrccssc2
####################################################################
# #
# Modgraph Consultants Limited #
# #
# NMRPredict Connected Concurrent SOAP Licensed Server v. : 4.940 #
# #
####################################################################
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.
- Installation error, charge8 not found [./charge8]
This indicates the installation is incomplete. Please refer to the file list above.
- Installation error, gmmx03 not found [./gmmx03]
This indicates the installation is incomplete. Please refer to the file list above.
- DY_LICENSEDIR enviromental variable is not defined
This environmental variable must be define so that the license file can be inspected.
These go in your .cshrc is you are running cshell.
setenv PCM_DIR /home/nmrpredict/bin
setenv DY_LICENSEDIR /home/nmrpredict/license
If you are running bash, edit the .bashrc file
export PCM_DIR=/home/nmrpredict/bin
export DY_LICENSEDIR=/home/nmrpredict/license
- Running the Server in debug mode.
Extra debug output can be obtained and sent to Modgraph by defining the following:
> setenv NMRDEBUGLOG 1
> setenv NMRDEBUGINFO 1
> setenv NMRDEBUGSTDOUT 1
or the corresponding bash versions:
> export NMRDEBUGLOG=1
> export NMRDEBUGINFO=1
> export NMRDEBUGSTDOUT=1
Don't forget to:
> unsetenv NMRDEBUGLOG
> unsetenv NMRDEBUGINFO
> unsetenv NMRDEBUGSTDOUT
or performance might suffer.
- PCM_DIR enviromental variable not defined
As above
- PCM_DIR installation error, mmxconst.prm not found
As above
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
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.
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.
- Starting the client.
Symptom: When starting the client on Windows it cannot find the server. The error is:
Unable to login. Status = 21. Please check server and port.
Possible causes are:
- The server is not running. Solution: On the Linuc server, start thye client in the bin directory.
- The IP address is incorrect.
- Because of some security restriction, such as a firewall, the server and/or port cannot be contacted.
You can test the connectivilty to the server as follows:
In windows, open a command window (From the Start Menu, Select Run. In the box type cmd )
In the command window type
> ping 192.168.0.32
You should receive a series of replies with timings.
PING pc3200 (192.168.0.32) 56(84) bytes of data.
64 bytes from pc3200 (192.168.0.32): icmp_seq=0 ttl=64 time=1.01 ms
64 bytes from pc3200 (192.168.0.32): icmp_seq=1 ttl=64 time=0.136 ms
64 bytes from pc3200 (192.168.0.32): icmp_seq=2 ttl=64 time=0.140 ms
If the reply is 'Request timed out' this means the server was unreachable. Please consult your system support.
If ping was successful: please ask your system support if this server/port is blocked.
You can test this independent of NMRPRedict using the small executable.
In a command windows type
> NMRConnect -host -port
> nmrconnect -host 192.168.0.32 -port 9208
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.
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".
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/
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/