Thursday, May 26, 2016

IMPORTANT UPDATE ON TOPSPIN 3.5PL5 (free version) - CentOS 7

I am referring below to the generously provided free version of the Topspin processing software by Bruker. For those of you who didn't notice (like me), the shell wrapper for this version includes a "al" in its name :  linux-topspin3.5.5.al.sh

I am mentioning because, there are other shell wrapper versions available for download, that turns out to be for installing a 'full license' scenario.  

Ok, on to the next step : 

I am sure you have taken care of installing all the required 32-bit libraries to make Topspin install script as well as the Topspin gui to function. 

You are rubbing your hands and raring to go....but....when you start Topspin (hopefully from the shell, as I do, so that I can immediately see any messages that are relevant) you see the banner appear and after a while it simply quits. 

This is what I got. 

 TopSpin 3.5 pl 5  -  Copyright (C) 2016 Bruker BioSpin GmbH
Installation directory: "/opt/topspin3.5pl5"
Waiting for FLEXlm license

Cannot checkout TopSpin FLEXlm license
Invalid license file syntax
Feature:       TOPSPIN3
License path:  /usr/local/flexlm/Bruker/licenses/license.dat
FLEXlm error:  -2,413
For further information, refer to the FLEXlm End User Manual,
available at "www.macrovision.com".

The FLEXlm host ID of this machine is 080027fd834a

license for noncommercial use, valid until 2017-03-31
error message cprserver: GetSystemPrinterList: dlopen(libcups.so) failed

premature Java Virtual Machine termination
Program is exiting ...


  Like me, it is possible that you ignore that error message from cprserver on this function call : GetSystemPrinterList: (libcups.so) failed.

What more, I was thrown off guard by the earlier snippet of " Cannot checkout TopSpin FLEXlm license
Invalid license file syntax" 


I was thinking that the former has to do with a printer definition and since I was running this on a virtual machine for testing, I didn't care about this particular library "libcups.so".  I couldn't have been more wrong. 

 When I installed the rpm that provides this library i.e. cups-devel, it pulled in literally a dozen more dependencies and some of them appear rather generic and important, such as libstdc++, zlib and dbus-libs. 

Once I installed these, Topspin launched without any problem and what more, the 'license file' related error turned out to be a dud. 

So, the lesson is that, don't ignore any error message thrown by Topspin when you launch and try to address it then and there. 

It is also clear that the way you build the linux distro, may not include some of the crucial components needed for this software to function correctly.  If there is no straightforward way to figure out these mandatory components, then at least pay attention to the error messages and discover the needed packages using those as hints.

UPDATE ON THIS UPDATE !

 I built another another instance of Topspin 3.5 on another virtual machine but even after this last step, Topspin started crashing.  Then I realized my folly...When I did a 'yum install'  I did not explicitly specify the i686 suffix and so it pulled all the cups-devel and dependencies of x86_64 bit version.  Once I did an explicit

yum install cups-devel.i686 

everything worked perfectly.  This might be helpful for you to remember....