Where is that library?

Recently I had to compile some software designed for 32 OS’s but which would work perfectly well on 64 OS’s if re-pointed at the correct libraries on a 64-bit system.

I set the paths to the libs I knew about but, post build, the software was failing to run correctly even though I followed the installation instructions to the letter.

Thankfully I had strace installed on my system and by using a single simple command I was able to get a trace of the program’s activity across the system and find out what it was missing where.

A symlink later and everything was fixed!

The moral of this story: If you’re compiling 3rdparty software and it doesn’t work out of the box, why not use strace to debug the running application and save a lot of future headaches!