[snip] >EVER. They are all included with the distribution of your software and >you build on it. Finally - you statically link everything. This way >it's completely stand-alone.
Just a random data point: Statically linking everything is highly discouraged and really won't buy you much nowadays for complex applications. For simple stuff, yeah, works great. Even though you may succeed in statically linked everything obvious (non-trivial btw), glibc (and even gtk+) goes out and loads a bunch of shared libraries/objects at run-time. Plus, there are all sorts of other nasty gotchas. Here's are some nice summaries/discussions of why statically linking is discouraged nowadays: http://people.redhat.com/~drepper/no_static_linking.html http://groups.google.com/group/comp.unix.programmer/browse_frm/thread/89eda70791f52292 (posted recently to comp.os.linux.development.apps) -Ales PS. I have never really gotten a complex (we are talking 35+ libraries) program statically linked to _completely work_ to my satisfaction.