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:
- Installing Rational License Key Server on Red Hat Enterprise Linux results in “bad ELF interpreter” error
- askubuntu - How to run a 32 bit app on Ubuntu 64 bit
- What ports to open when License Key Server is behind a firewall
- How to change the port values for the Rational License Server
- How to serve a license key to client machines through a firewall
- askubuntu.com - How to set the fully qualified domain name in 12.04?