Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 200961 - media-video/avidemux-2.4_pre3 needs ssse3 use flag
Summary: media-video/avidemux-2.4_pre3 needs ssse3 use flag
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-01 23:02 UTC by Honza
Modified: 2007-12-02 10:55 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Honza 2007-12-01 23:02:24 UTC
media-video/avidemux-2.4_pre3 needs use flag to turning off ssse3. The configure option should be --disable-ssse3, I'm not sure how to put it to cmake ...

Also, if ssse3 is enabled, binutils newer enough should be in depend.


Reproducible: Always

Steps to Reproduce:
1. have old binutils
2. emerge =media-video/avidemux-2.4_pre3

Actual Results:  
{standard input}: Assembler messages:
{standard input}:3483: Error: no such instruction: `pabsw %xmm0,%xmm0'
{standard input}:3487: Error: no such instruction: `psignw %xmm1,%xmm0'
{standard input}:4038: Error: no such instruction: `pabsw %xmm0,%xmm0'
{standard input}:4044: Error: no such instruction: `psignw %xmm1,%xmm0'
make[2]: *** [avidemux/ADM_libraries/ADM_lavcodec/CMakeFiles/ADM_lavcodec.dir/i386/mpegvideo_mmx.o] Error 1
make[1]: *** [avidemux/ADM_libraries/ADM_lavcodec/CMakeFiles/ADM_lavcodec.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....


Expected Results:  
As there is no ssse3 on AMD procesors, I shouldn't need support in binutils for it. Also, I doubt the ssse3-enabled avidemux would work anyway ...

Portage 2.1.3.19 (default-linux/x86/2007.0/desktop, gcc-3.3.5-hardened, glibc-2.5-r4, 2.6.20-gentoo-r8-32 i686)
=================================================================
System uname: 2.6.20-gentoo-r8-32 i686 AMD Athlon(tm) 64 Processor 3500+
Timestamp of tree: Fri, 30 Nov 2007 22:46:01 +0000
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.3.6-r3, 2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1, 1.10
sys-devel/binutils:  2.15.92.0.2-r10, 2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.4.3-r4, 1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mcpu=athlon -march=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -mcpu=athlon -march=i686 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.sh.cvut.cz/MIRRORS/gentoo/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/voip"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex 3dnowext X Xaw3d a52 aalib acl acpi alsa apache2 apm arts avi berkdb bitmap-fonts bittorrent bzip2 cairo caps cdr cli cracklib crypt cups curl dbus dga divx4linux doc dri dvd dvdr dvdread emboss encode erandom esd evo fam firefox flac fortran fpx gcj gd gdbm ggi gif gnutls gpm graphviz gstreamer gtk hal iconv imagemagick imlib innodb ipv6 isdnlog java javascript jbig jpeg kerberos lcms ldap lesstif libcaca libwww live logrotate lua lzo mad mailwrapper mbox mcal memlimit midi mikmod mmx mng motif mozilla mp3 mpeg mudflap multislot mysql ncurses network nls nptl ogg oggvorbis old-linux openal opengl openmp oss pam pcre pdf pdflib perl pic png postscript pppd python qt qt3 qt3support qt4 quicktime readline real reflection samba sdl session snmp spell spl sqlite sse sse2 ssl svg svga tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales vhosts videos vorbis win32codecs wmf x264 x86 xgetdefault xml xorg xosd xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa r128 fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-12-01 23:08:28 UTC
Try with a decent compiler...

http://www.gentoo.org/doc/en/gcc-upgrading.xml
Comment 2 Honza 2007-12-02 00:20:49 UTC
This error has nothing to do with gcc. This error has even nothing to do with binutils (after upgrading binutils to sys-devel/binutils-2.18-r1, the error is of course gone and the compilation failed at later point, which I'm going investigate tomorow and fill other bug). This error is about the fact that AMD Athlon(tm) 64 physically DOESN'T HAVE SSSE3 and the HAND-OPTIMIZED INLINE ASSEMBLER FUNCTION which compilation produced that error CAN'T WORK on it.

On the other hand, there is some autodetection around this part of code, so it IS possible it will work anyway (the problematic function will not be called and sse2 variant will be chosen instead). So, please do not close this bug unless you can confirm the application can encode to mpeg1 and mpeg2 on cpu without ssse3.

In that case, you can solve this bug by adding "sys-devel/binutils new enough" to dependencies.
Comment 3 Honza 2007-12-02 00:24:02 UTC
Eh ... the "This error" should be "This bug" on beginning of all sentences of first paragraf in last comment ...
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2007-12-02 06:45:33 UTC
binutils-2.18-r1.ebuild:KEYWORDS="alpha amd64 ~arm hppa ia64 mips ppc ppc64 ~s390 ~sh sparc x86"

So, use at least stable binutils, or up. I don't see any problem here, and don't feel comfortable sticking system -depends into ebuild to avoid problems on outdated systems.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2007-12-02 09:06:01 UTC
As said, your toolchain is unsupported.
Comment 6 Honza 2007-12-02 10:55:23 UTC
Samuel: The relevant keyword line is
binutils-2.16.1-r3.ebuild: KEYWORDS="-* alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
(meaning 2.16.1-r3 is no longer considered stable), keywords of 2.18-r1 are irrelevant to your point.

Still, unless portage warns about obsolete toolchain, it's not much friendly to common user ... and most ebuilds will compile fine even with binutils-2.16.1-r3.

Which of you can confirm the application can encode to mpeg1 and mpeg2 on cpu
without ssse3 ? Or should I wait to see what type of error it produces and then fill another bugreport ?