Libraries Required to Run on Ubuntu Linux

Artwork develops and tests its Linux software on RedHat and Suse because these two Linux operating systems are the ones most commonly used in the EDA industry. That does not mean our applications won't run on other flavors of Linux such as Ubuntu. Recently we came across a customer running Ubuntu who could not get any of our apps to run on his machine. After some troubleshooting we determined that patching the libraries solved the problem.

The customer initially wanted to use our simple utility for obtaining the hostid of the machine (needed to generate a license). However this did not work at all. After copying our hostinfo program to his machine he ran it and got the following response:


./hostinfo

Bash: ./hostinfo: No such file or directory

He then ran the ldd program to determine what libraries it used. Instead of seeing a list of dynamic linked libraries he got the message:

ldd hostinfo 

  Not a dynamic executable

OK, this is not good since on RedHat the ldd command would have produced a response such as the one shown below:

$ ldd hostinfo
        linux-gate.so.1 =>  (0xffffe000)
        libc.so.6 => /lib/tls/libc.so.6 (0x002ba000)
        /lib/ld-linux.so.2 (0x002a1000)

So we had him run the uname command which identifies the OS version and source getting the following results:


uname -a

Linux ub64-desktop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:58:03 UTC 2009 x86_64 GNU/Linux

After a little checking on some useful sites (ubunto forums) we found that patching the OS with the following libraries solved the problem:

ia32-libs (2.2ubuntu11)
lib32asound2 (1.0.15-3ubuntu4)
lib32gcc1 (1:4.2.4-1ubuntu3)
lib32ncurses5 (5.6+20071124-1ubuntu2)
lib32stdc++6 (4.2.4-1ubuntu3)
lib32z1 (1:1.2.3.3.dfsg-7ubuntu1)
libc6-i386 (2.7-10ubuntu4)