Forgive my ignorance, I've never ported anything. But I've always thought that porting one linux application to another just involved a recompile (assuming there is a compiler able to produce code for the processor of that linux variant available). Obviously that is not the case. So what is involved in porting such applications? Things like the size of an int on the destination system? little/big endian (particulary within fileformats)? Such things?