Summary: | media-video/mplayer-1.0_rc2_p26258 fails to build with USE="win32 -quicktime" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Peter Ruskin <aoyu93> |
Component: | Current packages | Assignee: | Gentoo Media-video project <media-video> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alanh, commando2004, gentoo, petr.pisar, rane, Sergiy.Borodych |
Priority: | High | ||
Version: | 2006.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Defines EMU_QTX_API only if needed
mplayer-1.0_rc2_p26258.ebuild utilizing emu_qtx_api diff |
Description
Peter Ruskin
2008-03-18 14:43:29 UTC
Getting same error here too. Emerge flags: [ebuild U ] media-video/mplayer-1.0_rc2_p26258 [1.0_rc2_p25993-r1] USE="a52 aac cddb cpudetection dv dvb dvd* encode ftp iconv jpeg live mad mmx mmxext mp3 png rtc samba sse theora truetype unicode vorbis* win32codecs x264 xvid -3dnow -3dnowext -X -aalib -alsa (-altivec) -amrnb -amrwb -arts -bidi -bindist -bl -cdio -cdparanoia -color-console -custom-cflags -debug -dga -directfb -doc -dts -enca -esd -fbcon -ggi -gif -gtk -ipv6 -jack -joystick -ladspa -libcaca -lirc -lzo -md5sum -mp2 -musepack -nas -nemesi -openal -opengl -oss -pnm -pulseaudio -quicktime -radio -rar -real -sdl -speex -srt -sse2 -ssse3 -svga -teletext -tga -tivo -v4l -v4l2 -vidix -xanim -xinerama -xscreensaver -xv -xvmc -zoran" VIDEO_CARDS="vesa -mga -s3virge -tdfx" 0 kB Emerge --info: Portage 2.1.4.4 (default-linux/x86/2007.0/server, gcc-4.1.2, glibc-2.7-r1, 2.6.24-gentoo-r3 i686) ================================================================= System uname: 2.6.24-gentoo-r3 i686 Pentium III (Coppermine) Timestamp of tree: Mon, 17 Mar 2008 20:16:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.5 dev-lang/python: 2.5.1-r5 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.24 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=pentium3 -mmmx -msse -mfpmath=sse" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/make.conf" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=pentium3 -mmmx -msse -mfpmath=sse" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer nodoc noinfo sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk/" LINGUAS="en_GB" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/dev/shm" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage" USE="X509 a52 aac acl acpi aim apache2 berkdb bzip2 clamav cli cracklib crypt cups curl curlwrappers dba dbm dbus dbx dio dri dv dvb encode exif fastcgi ffmpeg foomaticdb fortran ftp gd gd-external gdbm glut gpm hal hardened hardenedphp iconv icq imagemagick imap innodb isdnlog java javascript jpeg kerberos lcms ldap libwww mad mailwrapper matroska mcal midi minimal mmx mmxext mp3 mudflap mysql ncurses nls nptl nptlonly ogg openmp pam pcre perl php png portaudio posix ppds pppd python readline reflection samba scanner session sharedmem snmp soap spl sse ssl tcpd theora threads tidy tiff tokenizer truetype unicode usb vcd vhosts win32codecs x86 xine xml xml2 xmlrpc xorg xsl xvid zip zlib" 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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" USERLAND="GNU" VIDEO_CARDS="ati fbdev vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS @Peter, need emerge -pv mplayer @Robin, try -cpudetection # emerge -pv mplayer These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] media-video/mplayer-1.0_rc2_p26258 [1.0_rc2_p25993-r1] USE="3dnow 3dnowext X a52 aac aalib alsa arts cddb cdparanoia cpudetection dga doc dts dv dvd fbcon ftp ggi gif iconv joystick jpeg lirc live mad* mmx mmxext mp3* oss png real rtc samba sdl sse sse2 tga theora truetype unicode vorbis win32codecs xscreensaver xv* xvid (-altivec) -amrnb -amrwb -bidi -bindist -bl -cdio -color-console -custom-cflags -debug -directfb -dvb -enca -encode -esd -gtk -ipv6 -jack -ladspa -libcaca -lzo -md5sum -mp2 -musepack -nas -nemesi -openal -opengl -pnm -pulseaudio -quicktime -radio -rar -speex -srt -ssse3 -svga -teletext -tivo -v4l -v4l2 -vidix -x264 -xanim -xinerama -xvmc -zoran" VIDEO_CARDS="vesa -mga -s3virge -tdfx" 0 kB After I added encode esd gtk opengl flags it emerged OK. The same bug on x86 (CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer") with: [ebuild U ] media-video/mplayer-1.0_rc2_p26258 [1.0_rc2_p25993-r1] USE="3dnow 3dnowext a52 aac alsa cdparanoia esd ftp gif iconv ipv6 jpeg live mmx mmxext mp3 nas opengl png real samba sdl speex srt theora truetype unicode v4l vorbis win32codecs xscreensaver* xv xvid -X -aalib (-altivec) -amrnb -amrwb -arts -bidi -bindist -bl -cddb -cdio -color-console -cpudetection -custom-cflags -debug -dga -directfb -doc -dts -dv -dvb -dvd -enca -encode -fbcon -ggi -gtk -jack -joystick -ladspa -libcaca -lirc -lzo -mad -md5sum -mp2 -musepack -nemesi -openal -oss -pnm -pulseaudio -quicktime -radio -rar -rtc -sse -sse2 -ssse3 -svga -teletext -tga -tivo -v4l2 -vidix -x264 -xanim -xinerama -xvmc -zoran" VIDEO_CARDS="vesa -mga -s3virge -tdfx" 0 kB I think the problem is in QTX wrapper under loader directory. loader/wrapper.S provides symbols like report_entry. This file is compiled and linked only if QTX_EMULATION==yes. loader/module.c uses these symbols only if EMU_QTX_API is defined. Unfortunatelly, EMU_QTX_API is always defined (loader/module.c:13) and QTX_EMULATION is in my case "no" (config.mak:123). This mismatch causes error on final linking. Created attachment 146575 [details, diff]
Defines EMU_QTX_API only if needed
attached patch allows me to emerge mplayer-1.0_rc2_p26258. It compiles QTX emulation in only if needeed.
Created attachment 146577 [details, diff]
mplayer-1.0_rc2_p26258.ebuild utilizing emu_qtx_api diff
This is correspondent ebuild including $P-emu_qtx_api.diff.
Error still occurs with -cpudetection, output: i686-pc-linux-gnu-gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavcodec -I../libavdevice -I../libavfilter -I../libavformat -I../libavutil -I../libpostproc -I../libswscale -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -I. -I.. -I../libavutil -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=pentium3 -mtune=pentium3 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DHAVE_CONFIG_H -I/usr/include/freetype2 -c -o i386/vp3dsp_sse2.o i386/vp3dsp_sse2.c In file included from i386/vp3dsp_mmx.c:27: i386/mmx.h:24:2: warning: #warning Everything in this header is deprecated, use plain asm()! New code using this header will be rejected. In file included from i386/vp3dsp_sse2.c:27: i386/mmx.h:24:2: warning: #warning Everything in this header is deprecated, use plain asm()! New code using this header will be rejected. rm -f libavcodec.a ar rc libavcodec.a allcodecs.o audioconvert.o bitstream.o bitstream_filter.o dsputil.o eval.o faanidct.o imgconvert.o jrevdct.o opt.o parser.o raw.o resample.o resample2.o simple_idct.o utils.o i386/fdct_mmx.o i386/cputest.o i386/dsputil_mmx.o i386/mpegvideo_mmx.o i386/motion_est_mmx.o i386/simple_idct_mmx.o i386/idct_mmx_xvid.o i386/fft_sse.o i386/fft_3dn.o i386/fft_3dn2.o faandct.o jfdctfst.o jfdctint.o aasc.o ac3dec.o ac3tab.o ac3.o mdct.o fft.o ac3enc.o alac.o sp5xdec.o mjpegdec.o mjpeg.o apedec.o asv1.o mpeg12data.o atrac3.o avs.o bethsoftvideo.o bmp.o bmpenc.o c93.o cavs.o cavsdec.o cavsdsp.o golomb.o mpegvideo.o cinepak.o cljr.o cook.o cscd.o cyuv.o dca.o dnxhddec.o dnxhddata.o dnxhdenc.o mpegvideo_enc.o motion_est.o ratecontrol.o dsicinav.o dvbsubdec.o dvbsub.o dvdsubdec.o dvdsubenc.o dv.o dxa.o 8bps.o ffv1.o rangecoder.o huffyuv.o flac.o flacenc.o flashsv.o flashsvenc.o flicvideo.o h263dec.o h263.o error_resilience.o 4xm.o fraps.o huffman.o gifdec.o lzw.o gif.o h261dec.o h261.o h261enc.o h263_parser.o h264.o h264idct.o h264pred.o h264_parser.o cabac.o idcinvideo.o imc.o indeo2.o indeo3.o dpcm.o interplayvideo.o jpeglsdec.o jpegls.o jpeglsenc.o kmvc.o ljpegenc.o mjpegenc.o loco.o mace.o mjpegbdec.o mmvideo.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o mpegaudioenc.o mpc7.o mpc.o mpc8.o mpeg12.o mpeg12enc.o mpeg4video_parser.o msmpeg4.o msmpeg4data.o msrle.o msvideo1.o lcldec.o nellymoserdec.o nuv.o rtjpeg.o pnmenc.o pnm.o pcx.o png.o pngdec.o pngenc.o ptx.o qdm2.o qdrw.o qpeg.o qtrle.o qtrleenc.o ra144.o ra288.o rawdec.o rawenc.o roqvideodec.o roqvideo.o roqvideoenc.o elbg.o roqaudioenc.o rpza.o rv10.o sgidec.o sgienc.o rle.o shorten.o smacker.o smc.o snow.o sonic.o sunrast.o svq1dec.o svq1.o svq1enc.o targa.o targaenc.o vp3.o xiph.o vp3dsp.o tiertexseqv.o tiff.o tiffenc.o lzwenc.o truemotion1.o truemotion2.o truespeech.o tscc.o tta.o txd.o s3tc.o ulti.o vb.o vc1.o vc1data.o vc1dsp.o intrax8.o intrax8dsp.o vcr1.o vmdav.o vmnc.o vorbis_dec.o vorbis.o vorbis_data.o vorbis_enc.o vp5.o vp56.o vp56data.o vp6.o vqavideo.o wavpack.o wmadec.o wma.o wmaenc.o wmv2dec.o wmv2.o wmv2enc.o wnv1.o ws-snd1.o xan.o xl.o xsubdec.o lclenc.o zmbv.o zmbvenc.o pcm.o adpcm.o adxdec.o adxenc.o g726.o libfaac.o libmp3lame.o libx264.o libxvidff.o libxvid_rc.o aac_parser.o aac_ac3_parser.o ac3_parser.o cavs_parser.o dca_parser.o dvbsub_parser.o dvdsub_parser.o h261_parser.o mjpeg_parser.o mlp_parser.o mpegaudio_parser.o mpegvideo_parser.o pnm_parser.o vc1_parser.o dump_extradata_bsf.o h264_mp4toannexb_bsf.o imx_dump_header_bsf.o mjpega_dump_header_bsf.o movsub_bsf.o mp3_header_compress_bsf.o mp3_header_decompress_bsf.o noise_bsf.o remove_extradata_bsf.o pthread.o i386/idct_mmx.o i386/dsputilenc_mmx.o i386/cavsdsp_mmx.o i386/flacdsp_mmx.o i386/snowdsp_mmx.o i386/vc1dsp_mmx.o i386/vp3dsp_mmx.o i386/vp3dsp_sse2.o true libavcodec.a make[1]: Leaving directory `/dev/shm/portage/media-video/mplayer-1.0_rc2_p26258/work/mplayer-1.0_rc2_p26258/libavcodec' i686-pc-linux-gnu-gcc -o mplayer mplayer.o m_property.o mp_fifo.o mp_msg.o mixer.o parser-mpcmd.o command.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o get_path.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subopt-helper.o subreader.o vobsub.o libvo/libvo.a libao2/libao2.a input/libinput.a libmenu/libmenu.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a loader/libloader.a mp3lib/libmp3.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisidec.a dvdread/libdvdread.a libdvdcss/libdvdcss.a osdep/libosdep.a -lXext -lX11 -lpthread -lXxf86vm -lfaac -lx264 -lpthread -lmp3lame -Wl,-z,noexecstack -lncurses -lsmbclient -lpng -lz -ljpeg -lfreetype -lz -lfontconfig -lz -lmad -ltheora -logg -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++ -ldv -lxvidcore -lm -lpthread -ldl -lm i686-pc-linux-gnu-gcc -o mencoder mencoder.o mp_msg-mencoder.o parser-mecmd.o xvid_vbr.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o get_path.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subopt-helper.o subreader.o vobsub.o libmpcodecs/libmpencoders.a libmpdemux/libmpmux.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a loader/libloader.a mp3lib/libmp3.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisidec.a dvdread/libdvdread.a libdvdcss/libdvdcss.a osdep/libosdep.a -lfaac -lx264 -lpthread -lmp3lame -Wl,-z,noexecstack -lncurses -lsmbclient -lpng -lz -ljpeg -lfreetype -lz -lfontconfig -lz -lmad -ltheora -logg -lliveMedia -lgroupsock -lUsageEnvironment -lBasicUsageEnvironment -lstdc++ -ldv -lxvidcore -lm -lpthread -ldl -lm loader/libloader.a(module.o): In function `MODULE_GetProcAddress': module.c:(.text+0x11f): undefined reference to `wrapper_target' module.c:(.text+0x124): undefined reference to `wrapper' module.c:(.text+0x12a): undefined reference to `report_entry' module.c:(.text+0x12f): undefined reference to `report_ret' loader/libloader.a(module.o): In function `LoadLibraryExA': module.c:(.text+0xafa): undefined reference to `report_entry' module.c:(.text+0xb02): undefined reference to `report_ret' module.c:(.text+0xb08): undefined reference to `wrapper' module.c:(.text+0xb0d): undefined reference to `wrapper_target' collect2: ld returned 1 exit status make: *** [mencoder] Error 1 make: *** Waiting for unfinished jobs.... loader/libloader.a(module.o): In function `MODULE_GetProcAddress': module.c:(.text+0x11f): undefined reference to `wrapper_target' module.c:(.text+0x124): undefined reference to `wrapper' module.c:(.text+0x12a): undefined reference to `report_entry' module.c:(.text+0x12f): undefined reference to `report_ret' loader/libloader.a(module.o): In function `LoadLibraryExA': module.c:(.text+0xafa): undefined reference to `report_entry' module.c:(.text+0xb02): undefined reference to `report_ret' module.c:(.text+0xb08): undefined reference to `wrapper' module.c:(.text+0xb0d): undefined reference to `wrapper_target' collect2: ld returned 1 exit status make: *** [mplayer] Error 1 In the meantime, can you advise how to unmask the previous version: media-video/mplayer-1.0_rc2_p25993-r1 I need to rebuild it to fix a reverse dependency issue, but Portage tells me it's now masked (but not by what). I think the problem is: win32 code needs wrapper.S, but it is only compiled in if quicktime support is enabled. Same here with "win32 -quicktime", and emerges OK with "win32 quicktime". Works for me too with +quicktime. mplayer-1.0_rc2_p26300 should fix this, please test and let me know, thx (In reply to comment #14) > mplayer-1.0_rc2_p26300 should fix this, please test and let me know, thx > It does not. > if ! use x86 || { use x86 && use win32codecs; }; then This is true when either we are not on x86, or win32codecs is enabled. Despite being a bit complicated (the second use x86 is not necessary) the logic is wrong. It should do be like this: > if ! use x86 || ! use win32codecs; then (In reply to comment #15) > > if ! use x86 || ! use win32codecs; then > This one which is used in mplayer-1.0_rc2_p26300-r1 works for me (+win32codecs -quicktime on x86). Should have been fixed since mplayer-1.0_rc2_p26300-r1.ebuild, reopen if still an issue. |