Monday, October 16, 2017

Topspin 3.5pl6 on a CentOS 7 64 bit system....more than libraries

Let us start refreshing ourselves with the following notes, before we add the additional points learnt in making TS3.5 work in a CentOS 7 64 bit system :

Post on Topspin and 32 bit libraries


To the above list, I will add one more package that is needed.  This doesn't get pulled in as a dependency of any of the above mentioned packages, but one.

libXtst.i686

pulls in as dependency :

libXi.i686


systemd and Topspin 3.5 installation:

CentOS 7 employs 'systemd'  daemon to control all processes in the system that were individually handled by different binaries such as 'system' or 'chkconfig', etc.  Please refer to the CentOS 7 FAQ and documentation for a through review:

The shell command we use to communicate with systemd is 'systemctl'.

For instance, to query the status of Bruker License Manager daemon that is supposed to start at boot time, we have to say :

# systemctl status bruker_lmgr.service

The suffix 'service' can be omitted as long as there no possibility of another unit file with the same head such as 'bruker_lmgr'.

The above command gives the following :
 _______________________________________________________________________________________
 ● bruker_lmgr.service - BRUKER FlexLM license server
   Loaded: loaded (/etc/systemd/system/bruker_lmgr.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2017-10-16 13:06:00 PDT; 20min ago
 Main PID: 1202 (lmgrd)
   CGroup: /system.slice/bruker_lmgr.service
           ├─1202 /usr/local/flexlm/Bruker/lmgrd -local -2 -p -z -c /usr/local/flexlm/Bruker/licenses/license.dat
           └─1217 bruker_ls -T vgaruda 9.5 3 -c /usr/local/flexlm/Bruker/licenses/license.dat -p --lmgrd_start 59e51129

Oct 16 13:06:01 vgaruda lmgrd[1202]: 13:06:01 (bruker_ls) EXPIRED: SMP_STRUCELU_RANK
Oct 16 13:06:01 vgaruda lmgrd[1202]: 13:06:01 (bruker_ls) EXPIRED: MODGR_IFC
Oct 16 13:06:01 vgaruda lmgrd[1202]: 13:06:01 (bruker_ls) Server started on vgaruda for:        TOPSPIN3
Oct 16 13:06:01 vgaruda lmgrd[1202]: 13:06:01 (bruker_ls) TOPSPIN_1D        TOPSPIN_2D        XWINPLOT
Oct 16 13:06:01 vgaruda lmgrd[1202]: 13:06:01 (bruker_ls) TOPSPIN_ACQU        NMRSIM                NMRGUIDE
Oct 16 13:06:01 vgaruda lmgrd[1202]: 13:06:01 (bruker_ls) TOPSPIN2
Oct 16 13:14:34 vgaruda lmgrd[1202]: 13:14:34 (bruker_ls) OUT: "TOPSPIN3" rajan@vgaruda
Oct 16 13:14:34 vgaruda lmgrd[1202]: 13:14:34 (bruker_ls) OUT: "TOPSPIN2" rajan@vgaruda
Oct 16 13:14:38 vgaruda lmgrd[1202]: 13:14:38 (bruker_ls) IN: "TOPSPIN3" rajan@vgaruda
Oct 16 13:14:38 vgaruda lmgrd[1202]: 13:14:38 (bruker_ls) IN: "TOPSPIN2" rajan@vgaruda
 _______________________________________________________________________________________

The output is more or less what you will see in the flexlm.log file under : /usr/local/flexlm/Bruker/licenses directory.

The above tells us that Bruker license manager has successfully read the license file and Topspin is ready to start.

Perl development libraries for instllation : 

In addition to the packages mentioned above, one crucial rpm we need is the following :

perl-Sys-Syslog.x86_64

Other than this, there are few other perl development components we need in the system for your installation to proceed smoothly. 

To begin with, do :  yum install perl-devel.i686

Since all the relevant Perl modules are going to come from CPAN, I found the following solution very elegant.  

yum install perl-App-cpanminus

This installs the CPAN module downloader and builder that can be used directly to pull any relevant Perl modules that are in CPAN repository.

Two of the relevant ones for us are installed like so :

cpanm Data::Dumper
cpanm Sys::Syslog

If you ran into install errors before, you do the above and then, just remove the /usr/local/flexlm directory completely, before running the Topspin3.5 install script from the medium, again.


For whatever reason, the install script did not create an empty license.dat file under /usr/local/flexlm/Bruker/licenses,  as it used to do with earlier versions.  At least with CentOS 7 distro, I couldn't see this happening. 

For that matter, it doesn't even create the /usr/local/flexlm/Bruker/licenses branch of the tree. I had to create it by hand. 

Topspin3.5 and native Network Interface Card names :

 It came as a great relief for me that Topspin 3.5PL6  install script now recognizes the native Network Interface Card naming scheme. We had to jump through several hoops in the past to somehow force name the first interface card as 'eth0' for the flexlm license daemon to work correctly.   But now, the install script automatically gives a pull down menu of the recognized interface card names and you can choose the appropriate one, whose MAC ID is the one that is found in the license.dat file.

NetworkManager and NIC naming :

When NetworkManager service is running in CentOS 7 (which is the default), it uses the logical naming scheme for the NICs found in the system, based on the bus location and other details.   In my system, for instance, these cards are called enp0s3 and enp0s8.

In the past, to make these NIC-s to be called 'ethX',  we had to disable NetworkManager and create configuration files by hand in /etc/sysconfig/network-scripts. Even then it is not guaranteed that it will work as expected.

From Topspin3.5 onwards, Bruker has provided two major updates to the installation process  :
  1. They natively provide the so-called systemd unit file for starting the bruker_lmgr
  2. They also provide a unit file that allows the natural NIC scheme by Network Manager to be recognized.  This way, when license manager runs, it can query the MAC ID of the correct interface card and satisfy itself against the license.dat file
The above makes life so much easier.

/etc/hosts file is still important ! :

We still need to tie the IPV4 address to the hostname that is being used in the license.dat file.  This is still a legacy behavior of flexlm license manager, which does not use DNS lookups or such to get the identity of the host, apparently.



No comments:

Post a Comment