Friday, June 12, 2015

64 Bit Ubuntu and 32 bit Check Point SSL Network Extender

Recently I decided to change the operating system on my home Linux desktop to Ubuntu. I have been running OpenSuSE for a while since the prevalent OS at my last gig was SLES or SuSE Enterprise Linux (before that I was running Solaris x86). The current LTS version of Ubuntu is 14.04. I saw no reason to install the 32-bit version, so I downloaded and installed the 64-bit OS.

The installation of Ubuntu Desktop is straightforward, but unless I missed something you cannot select what packages and software are included during the initial install.

The VPN we use at work provided through a Check Point appliance. For Mac OSX and Linux operating systems you have to download the installation script from the "Settings" link after logging in to the web portal, or from the Check Point website. Having an older unit, the script installs a 32-bit version of the Check Point SSL Network Extender also simply known as 'snx'.

Everything seems to be simple and easy until you attempt to execute 'snx' (gets installed to /usr/bin/snx). What you see is something like:

$ snx -h
bash: /usr/bin/snx: No such file or directory

An 'ls' command will prove the file does in fact exist, but attempting to execute 'ldd' to see what libraries it may be looking for adds to the mystery.

$ ldd /usr/bin/snx
  not a dynamic executable

I did some digging and found that the default 64-bit install of Ubuntu 14.04 does not include any 32-bit libraries. Using 'apt-get' I installed the 32-bit version of a few of the "standard" libraries. I don't know which one it was, but now the output of 'ldd' listed libraries and which ones were not found. To save you some time here are the libraries I needed to install to get the Check Point SSL Network Extender to work.

  • lib32stdc++6
  • lib32z1
  • lib32objc3
  • lib32readline6
  • lib32gcc1
  • libX11-6:i386
  • libpam0g:i386
  • libstdc++5:i386 

Easily done with one command:

# apt-get -y install lib32stdc++6 lib32z1 lib32objc3 lib32readline6 lib32gcc1 libX11-6:i386 libpam0g:i386 libstdc++5:i386

It wasn't too hard to figure out, but if this helps a few people save time it was worth the effort to create this post.

Related Links

No comments:

Post a Comment