Sean's Musings as a Service

Sean's Musings as a Service

Installing RLKS on Ubuntu 14.04

  • Published:
  • categories: ibm
  • tags: ubuntu, rational, license

Install goes fine without any warnings, but then you try and run the commands on the server to set it up and you see the old:

sgwilbur@rlks01:/opt/IBM/RLKS/bin$ ./lmhostid
bash: ./lmhostid: No such file or directory

This is a strange and confusing error, as it really means that your system can not understand the binary type. It is certainly not as clear as the error provided by RHEL type servers when you see /lib/ld-lsb.so.3: bad ELF interpreter: No such file or directory. So we need to install the 32 bit libraries, this has changed in 14.04 but it is still pretty straight forward. These commands will etup the Ubuntu 32 libraries to get ready:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

But still no dice:

sgwilbur@rlks01:/opt/IBM/RLKS/bin$ ./lmutil
bash: ./lmutil: No such file or directory

So let’s take a closer look at what we have so far.

sgwilbur@rlks01:/opt/IBM/RLKS/bin$ file lmutil
lmutil: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), fo
r GNU/Linux 2.6.9, stripped
sgwilbur@rlks01:/opt/IBM/RLKS/bin$ ldd lmutil
        linux-gate.so.1 =>  (0xf775c000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf774c000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7730000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7581000)
        /lib/ld-lsb.so.3 => /lib/ld-linux.so.2 (0xf775d000)

One of those things looks funny based on the guidance in the IBM Technote, which suggests that you need to symlink the /lib/ld-* libraries.

sgwilbur@rlks01:/opt/IBM/RLKS/bin$ file /lib/ld-lsb.so.3
/lib/ld-lsb.so.3: ERROR: cannot open `/lib/ld-lsb.so.3' (No such file or directory)

So we need to add some symlinks to the 32 bit versions that we just installed to close the loop here.

sgwilbur@rlks01:/lib$ ls -als ld*
0 lrwxrwxrwx 1 root root 25 Feb 25 16:58 ld-linux.so.2 -> i386-linux-gnu/ld-2.19.so
sgwilbur@rlks01:/lib$ sudo ln -sf /lib/i386-linux-gnu/ld-2.19.so ld-lsb.so.3
sgwilbur@rlks01:/lib$ ls -als ld*
0 lrwxrwxrwx 1 root root 25 Feb 25 16:58 ld-linux.so.2 -> i386-linux-gnu/ld-2.19.so
0 lrwxrwxrwx 1 root root 30 Jul 31 01:31 ld-lsb.so.3 -> /lib/i386-linux-gnu/ld-2.19.so

Ok, let’s give it another try:

sgwilbur@rlks01:/opt/IBM/RLKS/bin$ ./lmhostid
lmhostid - Copyright (c) 1989-2011 Flexera Software, Inc. All Rights Reserved.
The FLEXnet host ID of this machine is "XXXXYYYYZZZZ"

Hooray, we can setup and serve licenses on Ubuntu! The last important piece is to make sure that you are routing your different daemons through the relevant ports and opening any firewalls or security groups you may have in place.

Update: Found another gotcha after restarting my machine, the license is tied directly to a specific hostname, in my case here rlks01.ucdemo.net. But when I try to start the server I get an error ‘rlks01’ is not a valid hostname. So we need to setup the system so that it will correctly respond to the hostname command as RLKS is using it.

Reference: