before you worry about getting a binary that will work on arm, i386, powerpc, AMD64, itanium, etc a bigger issue is that even if you stick with a single architecture you end up with different libraries on different systems and so you frequently need different binaries to support the different options they use.
even within a single distro you have different versions using different libraries depending on what features are compiled in (does it use mysql or sqlite for a database for example)