In this new and limitless world we have 64bit cpu’s and OS (Even MinuetOS is in 64bit)
Some legacy programs insist on running in 32bit because well … the company don’t have the resources, legacy reasons or any other reason why not to (I have no real idea actually why).
Most of the new OS can also run 32bit in 64bit OS, for example: windows 64bit can seamlessly use 32bit programs without hindering. Linux on the same hand – can do that too.
So this makes me mad that despite that 64bit OSs and software; not only available for the major part of the last 7-8 years; but also in the last 4 years 64bit OSs and softwares are the majority (by far) in the industry, and yet some companies think it is O.K. to deliver only 32bit software.
Last week a colleague came to me and asked me about his 64bit Ubuntu 13.10 – for some reason the Forticlient SSLVPN Client just won’t start working. The result is unpleasant after trying to run the file, the error:
bash: ./forticlientsslvpn: No such file or directory
A little search in the internet explained that this is 32bit software and you will need to install 32bit liberaries.
My first response was – why? I’ll just login to the Fortinet site and download the 64bit version right? Wrong – they didn’t have any (but oddly for window they had 32 and 64 bit)
So ok I’ve tried to install the liberaries all the answers in the web said:
$ sudo apt-get install ia32-libs ..... E: Unable to locate package ia32-libs
Wait? What? Why there is no package?
Rampaging through the forums and finally after 10 minutes I’ve got to a post saying – “Sorry folks – no more ia32-libs packages in Ubuntu 13.10 they removed it”
Wait what? What should I do now?
After alot oaf searching and a lucky guess I’ve decided to install gtklib 32bit – I recalled this is the one the Fortigate SSLVPN Client is using:
$ sudo apt-get install libgtk2.0-0:i386
That did the trick!
After the installation finished no more “No such file or directory” Error; now a new and more constructive error arise:
can't find libSM.so
Well that’s easy – little search and:
$ sudo apt-cache search libSM .... libsm6 Description: ... .... $ subo apt-get install libsm6:i386
I’ve continued on until I’ve installed them all.
Finally after 5 more minutes the Fortinet SSLVPN Client was running!
The trick was easy:
After an error for library arose I’ve search the package containing it either with “apt-cache” “apt-file” or Googled it.
After I’ve found which liberary I need to install I’ll install it with the suffix of “:386” (so: <PACKAGE_NAME>:386) this the 32bit libs will be installed.
This trick will probably work for any 32bit software.
For the impatient one here is what you need to run in order to get Fortinet SSLVPN Client running is:
$ sudo apt-get install libgtk2.0-0:i386 libsm6:i386 libstdc++6:i386
Ubuntu 16.04 updates:
By Arnon (thank you very much!):
sudo apt-get install libcanberra-gtk-module:i386
It appears that ubuntu 16.04 have spread the files over more packages now you should add:
For those who use Debian you can follow this instruction:
By Debian – firstname.lastname@example.org (Thank you very much!)
Under Debian you need to do this first:
# dpkg –add-architecture i386 # apt-get update