When the package is recompiled from source package without changes, it works because GCC 4.6.1 on i386 generates x87 instructions instead of SSE2 instructions. In general, GCC 4.6 defaults to "-march=native", so if the 32bit binary was generated on a 64bit system using "gcc -m32" without specifying "-march", it defaulted to compiling a binary for a core2/athlon64 in 32bit compatibility mode, not for a 32bit only CPU which does not support SSE2. A 32bit-only Pentium4 would run such a binary, but a Pentium3 won't. I suggest specifying -march=i686 and -mfpmath=387 to disable generation of SSE instructions. Performance critical code that uses hand-coded SSE (asm or intrinsics) uses run time cpu detection anyway and should be compiled with separate flags before being linked into a "i386" binary.
According to: https://help.ubuntu.com/11.04/installation-guide/i386 /hardware-supported.html , i686 with cmov is now required, so march should be set for that. I could not find the same page for ubuntu 11.10, but I hope it's the same. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/858226 Title: i386 version of mplayer2 is compiled to require SSE2 support To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mplayer2/+bug/858226/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs