Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 93404 - mythmusic-0.18.1 requires disabling asm mmx support on amd64
Summary: mythmusic-0.18.1 requires disabling asm mmx support on amd64
Status: VERIFIED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Television related Applications in Gentoo's Portage
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-21 00:32 UTC by Juan J. García de Soria
Modified: 2005-06-10 10:03 UTC (History)
0 users

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


Attachments
Patch to mythmusic-0.18.1.ebuild to build on amd64 (mythmusic-0.18.1.ebuild.diff,613 bytes, patch)
2005-05-22 00:20 UTC, Juan J. García de Soria
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Juan J. García de Soria 2005-05-21 00:32:23 UTC
The ebuild fails on amd64; it tries to compile asm code in
goom/zoom_filter_xmmx.c:66, which works on x86 but not on amd64.

The previous ebuild version had code in order to remove mmx "support" from
non-x86 arches (see function setup_pro() in mythmusic-0.18.ebuild). Some form of
this code should be reinstated.

Reproducible: Always
Steps to Reproduce:
1. Try to emerge mythmusic-0.18.1 on amd64.
2.
3.

Actual Results:  
The ebuild fails:

gcc -c -pipe -Wall -W -O3 -pipe -fomit-frame-pointer -mtune=athlon64
-march=athlon64 -D_REENTRANT -fPIC  -D_GNU_SOURCE -DPREFIX=\"/usr\" -DHAVE_MMX
-DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_PLUGIN -I/usr/qt/3/mkspecs/linux-g++ -I.
-I/usr/include -I/usr/include/cdda -I/usr/qt/3/include -I/usr/include -o
zoom_filter_xmmx.o goom/zoom_filter_xmmx.c
{standard input}: Assembler messages:
{standard input}:9: Error: suffix or operands invalid for `push'
{standard input}:11: Error: suffix or operands invalid for `pop'
{standard input}:14: Error: suffix or operands invalid for `push'
{standard input}:17: Error: suffix or operands invalid for `pop'
{standard input}:128: Error: suffix or operands invalid for `pop'
make[2]: *** [zoom_filter_mmx.o] Error 1
make[2]: *** Se espera a que terminen otras tareas....
goom/zoom_filter_xmmx.c: In function `zoom_filter_xmmx':
goom/zoom_filter_xmmx.c:66: error: `asm' inv
Comment 1 Juan J. García de Soria 2005-05-21 00:32:23 UTC
The ebuild fails on amd64; it tries to compile asm code in
goom/zoom_filter_xmmx.c:66, which works on x86 but not on amd64.

The previous ebuild version had code in order to remove mmx "support" from
non-x86 arches (see function setup_pro() in mythmusic-0.18.ebuild). Some form of
this code should be reinstated.

Reproducible: Always
Steps to Reproduce:
1. Try to emerge mythmusic-0.18.1 on amd64.
2.
3.

Actual Results:  
The ebuild fails:

gcc -c -pipe -Wall -W -O3 -pipe -fomit-frame-pointer -mtune=athlon64
-march=athlon64 -D_REENTRANT -fPIC  -D_GNU_SOURCE -DPREFIX=\"/usr\" -DHAVE_MMX
-DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_PLUGIN -I/usr/qt/3/mkspecs/linux-g++ -I.
-I/usr/include -I/usr/include/cdda -I/usr/qt/3/include -I/usr/include -o
zoom_filter_xmmx.o goom/zoom_filter_xmmx.c
{standard input}: Assembler messages:
{standard input}:9: Error: suffix or operands invalid for `push'
{standard input}:11: Error: suffix or operands invalid for `pop'
{standard input}:14: Error: suffix or operands invalid for `push'
{standard input}:17: Error: suffix or operands invalid for `pop'
{standard input}:128: Error: suffix or operands invalid for `pop'
make[2]: *** [zoom_filter_mmx.o] Error 1
make[2]: *** Se espera a que terminen otras tareas....
goom/zoom_filter_xmmx.c: In function `zoom_filter_xmmx':
goom/zoom_filter_xmmx.c:66: error: `asm' inválido: restricciones inválidas para
el operando
goom/zoom_filter_xmmx.c:66: error: `asm' inválido: restricciones inválidas para
el operando
{standard input}: Assembler messages:
{standard input}:9: Error: suffix or operands invalid for `push'
{standard input}:11: Error: suffix or operands invalid for `pop'
{standard input}:14: Error: suffix or operands invalid for `push'
{standard input}:17: Error: suffix or operands invalid for `pop'
{standard input}:128: Error: suffix or operands invalid for `pop'
{standard input}:182: Error: expecting operand before ','; got nothing
{standard input}:183: Error: expecting operand before ','; got nothing
{standard input}:221: Error: suffix or operands invalid for `mov'
make[2]: *** [zoom_filter_xmmx.o] Error 1
make[2]: Leaving directory
`/var/tmp/portage/mythmusic-0.18.1/work/mythplugins-0.18.1/mythmusic/mythmusic'
make[1]: *** [sub-mythmusic] Error 2
make[1]: Leaving directory
`/var/tmp/portage/mythmusic-0.18.1/work/mythplugins-0.18.1/mythmusic'
make: *** [sub-mythmusic] Error 2


Expected Results:  
The ebuild should work properly, as it did in the previous version.

holly root # emerge info
Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3,
glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r7 x86_64)
=================================================================
System uname: 2.6.11-gentoo-r7 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, May 12 2005, 23:56:42)]
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.9.5, 1.5, 1.8.5-r3, 1.6.3, 1.7.9-r1, 1.4_p6
sys-devel/binutils:  2.15.92.0.2-r8
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.8.1-r4
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O3 -pipe -fomit-frame-pointer -mtune=athlon64 -march=athlon64"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer -mtune=athlon64 -march=athlon64"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="es_ES.UTF8"
LC_ALL="es_ES.UTF8"
LINGUAS="es en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X aac acpi alsa apache2 audiofile avi berkdb bitmap-fonts bmp bzlib
c++ cdr crypt ctype cups curl dbm dga doc dvd dvdr dvdread eds encode esd exif
fam fbcon flac flash font-server foomaticdb fortran ftp gcj gdbm gif gimpprint
gnome gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml hal imagemagick imlib ipv6
java javascript joystick jp2 jpeg junit libg++ libwww lirc lzw lzw-tiff mad mbox
mikmod mime mjpeg mmap mng motif mozilla mp3 mysql ncurses nls nptl nvidia ogg
oggvorbis openal opengl oss pam pcmcia pcre perl png pnp postgres ppds python
quicktime readline recode samba sasl scanner sdl sharedmem sndfile sockets speex
spell sqlite ssl svg tcltk tcpd tetex theora threads tiff transcode truetype
truetype-fonts type1-fonts unicode usb vorbis wmf xine xml xml2 xosd xpm xrandr
xv xvid zlib linguas_es linguas_en userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS
Comment 2 Juan J. García de Soria 2005-05-21 00:55:02 UTC
I blindly migrated the setup_pro() function from the previous ebuild and called
it at the end of src_unpack().

Now it builds, and it seems to work as well as before.

Note that goom visualization crashes from time to time on amd64, but that's not
new, and I don't know whether to report this to mythmusic people, as it seems
that the goom visualization that gets built with xine has the same problems on
amd64.
Comment 3 Juan J. García de Soria 2005-05-21 01:11:58 UTC
Please ignore the note about goom visualization; I'm no more sure about it.
Comment 4 Doug Goldstein (RETIRED) gentoo-dev 2005-05-21 20:55:02 UTC
Cause way to really provide detail about what's needed to fix the problem...
considering I don't have AMD64...
Comment 5 Juan J. García de Soria 2005-05-22 00:20:45 UTC
Created attachment 59520 [details, diff]
Patch to mythmusic-0.18.1.ebuild to build on amd64

I dont understand the expression "cause way", but I attach a patch for the
ebuild with the suggested fix.
Comment 6 Tom P. 2005-05-24 13:01:04 UTC
Thanks for the patch Juan!  I can confirm it works here on amd64.

This patch is obviously good as it only carries forward a fix from the previous
version.
Comment 7 Doug Goldstein (RETIRED) gentoo-dev 2005-05-24 13:35:12 UTC
In fact the eclass specifically enables MMX support for MythMusic on AMD64, so
this fix is really not correct. Only reason it enables this is because
eradicator, our amd64 MythTV dev, said to use it.

I'll look into doing the appropriate fix rather then this fix.
Comment 8 Juan J. García de Soria 2005-05-24 13:45:43 UTC
Yes. I agree the proper fix would be to make the mmx code compile properly.

It's a shame that asm x86(_64) mmx code is so far beyond my current capabilities :(
Comment 9 Doug Goldstein (RETIRED) gentoo-dev 2005-06-08 16:18:12 UTC
emerge sync and test please.
Comment 10 Juan J. García de Soria 2005-06-09 02:29:20 UTC
Now it merges ok.

I tested it and it seems to run fine too.


Lots of thanks :)
Comment 11 Doug Goldstein (RETIRED) gentoo-dev 2005-06-10 10:03:48 UTC
Well verified that this works.