This is the indication of the fact that two different system are targeted to different
instruction set architectures of the CPU, and the CPU could be different, or it could be different situation: the CPU are the same, but on one of the OS, it works in 32-bit compatibility mode and does not support one of the 64-bit architectures you compiled your code on. Please check up.
Please see:
http://en.wikipedia.org/wiki/Instruction_set[
^].
If you need some more concrete detail, you have to figure up to four facts: what is the exact CPU model (if you don't know it instruction set architecture), what is the target platform of the OS version, and this information should be provided for both systems. I think if you get this information, you well see by yourself what was wrong. And then you may need to cross-compile your code for different platform.
—SA