On Monday 25 July 2005 22:22, Rafael E. Herrera wrote:
It is tricky to link binaries under a suse environment. I've been doing software development under suse for years.
I wouldn't go as far as blaming SuSE for static linking being tricky. Linux and its supporting software is under generally intensive development all the time. So, libraries change frequently and inevitably someone add an improvement that breaks an interface between objects. That same sort of joy has been experienced by Windows programmers, so it's not exclusive to linux/unix.
The results are always variable, since waht works for a release may not work for another.
Your options are to link statically as many libs as you can or give up statically linked apps.
Another alternative is to include copies of the libraries you cannot link statically with your application's package.
The bottom-line is that building statically linked binaries under Linux is not well supported. Do you really need statically linked binaries?
Static linking is as well supported under Linux as any other operating system. The "problem" is the rapid development and improvements to the software. The general rule is to only statically link programs that will run on the exact same architecture and library set as the machine doing the building. (or be very careful with a cross compile.) If you can reduce static linking down to linking only libraries that do not depend on any other libraries then results are more stable. We have a couple of statically built apps at work (Solaris). Test systems, development systems, and production systems are all configured identically, so there has never been an architecture or upgrade related problem that stopped production.