How to make a program static (for bug regression)?

stan gryt2 at q.com
Thu Nov 11 19:50:19 UTC 2010


On Thu, 11 Nov 2010 11:42:12 -0800
Chuck Forsberg WA7KGX N2469R <caf at omen.com> wrote:

> I would like to compile pan(1) with completely static libraries
> so I can tell if the breakage I've reported is from some library
> that got hosed in an update vs. something in the kernel itself.

Can you run it via gdb from an xterm?

> 
> Adding -static results in 52 undefined libraries.  The first one
> I looked for didn't have a static version available.

This will be the norm since they are considered bad practice.

> 
> Is there a reasonable way to get a statically linked version without
> having to compile 52 libraries from source?
> 

As far as I know, no.  However, you can install the debug information
packages for all of these, allowing you to use gdb to see the code as it
executes.

First, I would install the debug package for pan, or compile it with
debugging turned on if there is none.  Then run it via gdb until the
problem occurs, and look where it is.  Because it isn't actually
crashing for you, it isn't as simple as
gdb pan
run
and dissect the crash.  You'll have to use pan until you see the
behavior that is wrong and then look.  It could take a few tries, but
you should be able to narrow it down to what is wrong.

Because the debug packages are with optimization turned on, they will
occasionally skip lines, and jump around the source, but you should be
able to get an idea at least.



More information about the test mailing list