Ok, this question is about portable as in no dependencies (i.e. \"I can put the binaries in a USB key and bring it with me everywhere, e-mail t
Static linking works for most libraries, but not those that use dynamically loaded modules. Just try and see if it works. You may still have issues with kernel compatibility; your program may be using system calls not available in older kernels.
The Linux Standard Base is supported by some Linux distros, but on Debian (and I think also Ubuntu) it has to be installed from a package. It also handles mostly administrative things like startup scripts, though it has some binary compatibility stuff. See this page for some info.
For the "put on USB key and run anywhere" requirement, check out CDE.