i386 version of mplayer2 is compiled to require SSE2 support
Bug #858226 reported by
Zeev Tarantov
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mplayer2 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
When parsing my config file on an i686 CPU which does not support SSE2 (namely a Pentium3 with SSE support), mplayer2 2.0-134-
To post a comment you must log in.
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.