mplayer-1.0_pre6 fails on SPARC due to invalid CFLAG "no-omit-leaf-frame-pointer" This fixed, next there is an error with a 'asm/ldt.h: No such file or directory', which seems to be kernel-delivered and i386-asm (based on 'locate ldt.h'). That I have no clue on howto fix :( Reproducible: Always Steps to Reproduce: 1. emerge mplayer 2. 3. Actual Results: make[1]: Entering directory `/var/tmp/portage/mplayer-1.0_pre6/work/MPlayer- 1.0pre6a/loader' cc -I. -I.. -I../libvo -I../../libvo -I/usr/X11R6/include -mtune=v9 -O2 -pipe - frename-registers -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 - D_LARGEFILE64_SOURCE -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 - I/usr/lib/glib/include -I/usr/X11R6/include -U_FILE_OFFSET_BITS - I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include - I/usr/X11R6/include -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer - DMPLAYER -D__WINE__ -c ldt_keeper.c cc1: error: invalid option `no-omit-leaf-frame-pointer' make[1]: *** [ldt_keeper.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre6/work/MPlayer- 1.0pre6a/loader' make: *** [loader/libloader.a] Error 2 make: *** Waiting for unfinished jobs.... unrarlib.c: In function `SetCryptKeys': unrarlib.c:2514: warning: comparison is always true due to limited range of data type Expected Results: mplayer-1.0_pre6 to emerge on SPARC ;) This is using ~sparc, so I'm guessing this is low-prio, but anyway; just so you know. # emerge info Portage 2.0.51-r15 (default-linux/sparc/sparc64/2004.3, gcc-3.3.5, glibc- 2.3.3.20040420-r2, 2.6.9-gentoo-r6 sparc64) ================================================================= System uname: 2.6.9-gentoo-r6 sparc64 sun4u Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 8 2005, 18:48:57)] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.7.9-r1, 1.6.3, 1.4_p6, 1.9.4, 1.5 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.4.23, 2.4.19-r1 ACCEPT_KEYWORDS="sparc ~sparc" AUTOCLEAN="yes" CFLAGS="-mtune=v9 -O2 -pipe -fomit-frame-pointer" CHOST="sparc-unknown-linux-gnu" CONFIG_PROTECT="/etc /opt/glftpd/etc /usr/kde/2/share/config /usr/kde/3.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/confi g /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mtune=v9 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache cvs distcc distlocks keeptemp noauto noclean sandbox usepkg userpriv usersandbox" GENTOO_MIRRORS="http://ds.thn.htu.se/linux/gentoo http://mirror.pudas.net/gentoo ftp://mirror.pudas.net/gentoo ftp://ftp.sunet.se/pub/Linux/distributions/gentoo http://gentoo.gehlin.com/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://localhost:874/gentoo-portage" USE="sparc X X509 aac aalib acl alsa apache2 arts audiofile avi bash-completion bcmath berkdb bitmap-fonts bmp bzlib cdparanoia cdr chroot crypt cups curl dba dga dio directfb divx4linux dlloader dmx dts dvb dvd dvdr dvdread dxr3 encode esd ethereal extensions f77 fam fbcon flac font-server foomaticdb fortran fpx ftp gcc64 gd gd-external gdbm ggi gif gmp gnome gnutls gphoto2 gpm graphviz gstreamer gtk gtk2 icq imagemagick imap imlib insecure-drivers ipv6 jack java javascript jbig jpeg jpeg2k kde kerberos krb4 lcms ldap libcaca libwww lirc live lm_sensors lz lzo lzw-tiff mad mailwrapper md5sum mikmod mmap mng motif mozilla mp3 mpeg msn mysql mythtv nas ncurses network nls nntp nocardbus objc oggvorbis opengl oss pam pcre pdflib perl php png python qt quicktime readline rtc samba sasl sdl session sftplogging slang sndfile snmp ssl tcltk tcpd tga theora tiff truetype truetype-fonts type1-fonts unicode v4l v4l2 vdesktop vhosts vidix vim-with-x wmf xanim xine xinerama xml xml2 xmms xosd xprint xscreensaver xv xvid zlib zvbi" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Created attachment 51409 [details, diff] mplayer-1.0_pre6-loader-Makefile-sparc.patch New ebuild applying loader/Makefile-patch. Note that the files/mplayer-1.0_pre6-configure.patch must be copied to files/mplayer-1.0_pre6-r1-configure.patch
Created attachment 51410 [details] mplayer-1.0_pre6-r1.ebuild Sorry, here's the ebuild :)
Created attachment 51411 [details, diff] mplayer-1.0_pre6-loader-Makefile-sparc.patch And the patch.
Created attachment 51412 [details, diff] mplayer-1.0_pre6.ebuild.diff The ebuild as a unified diff for easily overviewing
You probably have avi in your USE flags - this causes the ebuild to append --enable-win32 to the configure options. But support for win32 binary codecs is only supposed to compile and work on x86! The correct patch should be adding "if use x86" around myconf="${myconf} $(use_enable avi win32)"
btw. this is the same problem as described in http://bugs.gentoo.org/show_bug.cgi?id=82022
Sparc people please fix the profiles
Fixed.
Luca, USE=avi has no effect in mplayer on sparc and masking it breaks xine, so I removed it.
At the moment avi useflags has two different usages: it adds support for avifile OR it adds support for win32codecs. The problem is that the two things are way different: w32codecs aren't supported by many platforms (not only by non-x86 linux archs, but also by macos or *bsd oses), and also they are no more only avi-related codecs, as it installs video codecs which could be used in mkv or ogm files; avifile instead is supported by many different platforms (also if not sparc). On non-linux and non-x86 platforms, avi useflag must be set package-by-package else it will break things. Ebuilds also must check for x86 with avi flag, as it shouldn't be masked: there are packages which legally use it for add avifile support. A solution could be to simply divide these task: add a w32codecs useflag which adds win32codecs, and which MUST be masked on non-x86 or non-linux profiles, and use avi useflag only for avifiles support. I can take care of fixing all the existing ebuild for a similar layout if needed.
It only adds support for win32codecs on x86. Even if it DID add support on other archs, the correct fix would've been in the ebuild, not masking the use flag.
Can we close this bug now? I x86'ed the win32codecs logic so it shouldn't be a problem... Unless something is still there which I don't quite know about yet.
Closed with permission from eradicator.