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
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
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.
Please ignore the note about goom visualization; I'm no more sure about it.
Cause way to really provide detail about what's needed to fix the problem... considering I don't have AMD64...
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.
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.
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.
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 :(
emerge sync and test please.
Now it merges ok. I tested it and it seems to run fine too. Lots of thanks :)
Well verified that this works.