Tuesday, January 12, 2010

Peaceful co-Xistence : XWIN and TS on the same machine

since I still have an incentive to keep the XWINNMR chugging along (since I am still busy putting together the XWIN -> TS transition plan) but on the other hand I do despiiiise the unpatched RHL8.2 (!!) sucking up resources with runaway processes, I wanted to experiment with running XWINNMR on the shiny RHEL 5.4.

I have been making progress, so far. Here is a useful summary of what matters, for future reference :

  • Since XWINNMR and the associated installation suite is matched evenly with the the RedHat 8.2 in antiquity,  there are non-existent locations in RHEL5 such as /usr/lib/X11 that need to be made up.   Refer to my post on how Xwinplot , which also belongs to the same generation as the Xwinnmr itself, was made to work in a RHEL5.4 platform to get a feel for what I am talking about.
  • The Xwinnmr suite has the installation script called startme and this looks for xterm in /usr/X11/bin.  If it is non-existent, it quits. So do this :
    • ln -sf /usr/bin/xterm /usr/X11/bin/xterm
  • If need be, create the directory tree X11/bin under /usr,before creating the link as above.
  • Since running the startme script from CDROM leads to file permission issues (I don't know why), I copied the startme script and two other directories that were on the CDROM to /tmp.    It took a while for me to copy all the contents of the CDROM to /tmp and so there is an additional overhead. But once this was done, the SWIM install interface launched without issues.   When run from CDROM, somehow X complains about   DISPLAY.
  • OS type:  For some reason if the script compalins about non-compatibility of the OS, you can silence the same by doing so:
    • sh ./startme --no-os-check
  • There are several other switches that may be useful on special occassions.  To list them all, do this :
    • sh startme --help-work-around
  • If you have problem bringing up the swim gui, do this :
    • sh startme -d localhost:0.0
The installation proceeded smoothly after this.  Since I already have installed Topspin on this host, I moved the original /usr/diskless to /usr/diskless.TS to avoid the conflict.  Similarly I moved the /usr/local/flexlm tree to a different name to avoid any clashes.

The installation part proceeded quite easily. The problem I am tackling at this point is to make the 24 and 8 bit overlay mode work fine with X11 so that Xwinnmr can render the colors correctly.  I will post  an update on this topic once that issue is sorted out.

Friday, January 8, 2010

Win over the XWINPLOT...

Since XWINPLOT is still a plot editor that belongs to the 'archaea' branch of computer programs, time and again you can end up with the frustration of making peace between the old and the new. One such instance arose when I upgraded the RHEL v4 to RHELv5.4 on DRX499, which runs Topspin 1.3 PL8.

Fortunately, I did not throw away the v4 distro and that saved me a LOT of trouble, as you will see below.

First, when I start the plot command,  the status bar says that plot progam is starting but it silently commits suicide, without leaving a discernible trace. When I captured the hist output (there is no savelogs command here; another of the quirks of TS1.3) and sent it to HQ, Mike Engelhardt forwarded me this Bruker Knowledge base link and said that my problem is similar to the one addressed :

http://www.bruker-biospin.com/shell/bkb/show_bug.cgi?id=8702

Basically this item highlights the fact that how xwinplot dies quietly if some of the needed shared libraries are not found.  In my case, there were two :

libdps.so.1


libdpstk.so.1

This is where the old distro. came in handy. When I located these files in RHELv4 distro., they were sitting under /usr/X11R6/lib.  The lib directory was completely absent in the case of RHELV5.4.

Solution :
  • I copied over the entire directory /usr/X11R6/lib from v4 to the v5.4 distro. Even though the above said libraries were now available, the plot program could not still see these. 
  • Therefore I created a soft link from /usr/X11R6/iib/ for the above two files into /usr/lib/ with identical names.  This solved the problem of plot dying prematurely.  It turns out that, with RHELv5.4 distro, /usr/lib is where the plot program is looking for the libraries. 
  • By the way, the command I used to list out the libraries that were missing is given in the Knowledge Base article : 
topspin -e ldd /opt/topspin/prog/mod/xwinplot.mod

Now plot is working properly and I am also able to print the spectrum, as before.

Before I stumbled onto using the old distro to rummage the files, I tried some web search for the above two library files and the process was ugly, to put it mildly. So, it is a good thing to keep the backward compatible stuff around for a bit, until we iron out all the problems in the migrated system.