InBetweenNames / gentooLTO

A Gentoo Portage configuration for building with -O3, Graphite, and LTO optimizations
GNU General Public License v2.0
572 stars 96 forks source link

media-video/mplayer-1.3.0-r3 fails to compile #36

Closed flgw closed 6 years ago

flgw commented 6 years ago

x86_64-pc-linux-gnu-gcc -o mencoder mencoder.o parser-mecmd.o xvid_vbr.o libmpcodecs/ae.o libmpcodecs/ae_pcm.o libmpcodecs/ve.o libmpcodecs/ve_raw.o libmpdemux/muxer.o libmpdemux/muxer_avi.o libmpdemux/muxer_mpeg.o libmpdemux/muxer_rawaudio.o libmpdemux/muxer_rawvideo.o libmpcodecs/ae_lavc.o libmpcodecs/ve_lavc.o libmpdemux/muxer_lavf.o libmpcodecs/ve_nuv.o libmpcodecs/native/rtjpegn.o libmpcodecs/ae_lame.o libmpcodecs/ve_x264.o libmpcodecs/ve_xvid4.o asxparser.o bstr.o codec-cfg.o cpudetect.o edl.o fmt-conversion.o m_config.o m_option.o m_struct.o mp_msg.o mp_strings.o mpcommon.o parser-cfg.o path.o playtree.o playtreeparser.o subopt-helper.o libaf/af.o libaf/af_center.o libaf/af_channels.o libaf/af_comp.o libaf/af_delay.o libaf/af_dummy.o libaf/af_equalizer.o libaf/af_extrastereo.o libaf/af_format.o libaf/af_gate.o libaf/af_hrtf.o libaf/af_karaoke.o libaf/af_pan.o libaf/af_resample.o libaf/af_scaletempo.o libaf/af_sinesuppress.o libaf/af_stats.o libaf/af_sub.o libaf/af_surround.o libaf/af_sweep.o libaf/af_tools.o libaf/af_volnorm.o libaf/af_volume.o libaf/filter.o libaf/format.o libaf/reorder_ch.o libaf/window.o libmpcodecs/ad.o libmpcodecs/ad_alaw.o libmpcodecs/ad_dvdpcm.o libmpcodecs/ad_hwac3.o libmpcodecs/ad_hwmpa.o libmpcodecs/ad_pcm.o libmpcodecs/dec_audio.o libmpcodecs/dec_teletext.o libmpcodecs/dec_video.o libmpcodecs/img_format.o libmpcodecs/mp_image.o libmpcodecs/pullup.o libmpcodecs/vd.o libmpcodecs/vd_hmblck.o libmpcodecs/vd_lzo.o libmpcodecs/vd_mpegpes.o libmpcodecs/vd_mtga.o libmpcodecs/vd_null.o libmpcodecs/vd_raw.o libmpcodecs/vd_sgi.o libmpcodecs/vd_black.o libmpcodecs/vf.o libmpcodecs/vf_1bpp.o libmpcodecs/vf_2xsai.o libmpcodecs/vf_blackframe.o libmpcodecs/vf_boxblur.o libmpcodecs/vf_crop.o libmpcodecs/vf_cropdetect.o libmpcodecs/vf_decimate.o libmpcodecs/vf_delogo.o libmpcodecs/vf_denoise3d.o libmpcodecs/vf_detc.o libmpcodecs/vf_dint.o libmpcodecs/vf_divtc.o libmpcodecs/vf_down3dright.o libmpcodecs/vf_dsize.o libmpcodecs/vf_dvbscale.o libmpcodecs/vf_eq.o libmpcodecs/vf_eq2.o libmpcodecs/vf_expand.o libmpcodecs/vf_field.o libmpcodecs/vf_fil.o libmpcodecs/vf_filmdint.o libmpcodecs/vf_fixpts.o libmpcodecs/vf_flip.o libmpcodecs/vf_format.o libmpcodecs/vf_framestep.o libmpcodecs/vf_gradfun.o libmpcodecs/vf_halfpack.o libmpcodecs/vf_harddup.o libmpcodecs/vf_hqdn3d.o libmpcodecs/vf_hue.o libmpcodecs/vf_il.o libmpcodecs/vf_ilpack.o libmpcodecs/vf_ivtc.o libmpcodecs/vf_kerndeint.o libmpcodecs/vf_mirror.o libmpcodecs/vf_noformat.o libmpcodecs/vf_noise.o libmpcodecs/vf_ow.o libmpcodecs/vf_palette.o libmpcodecs/vf_perspective.o libmpcodecs/vf_phase.o libmpcodecs/vf_pp7.o libmpcodecs/vf_pullup.o libmpcodecs/vf_rectangle.o libmpcodecs/vf_remove_logo.o libmpcodecs/vf_rgbtest.o libmpcodecs/vf_rotate.o libmpcodecs/vf_sab.o libmpcodecs/vf_scale.o libmpcodecs/vf_smartblur.o libmpcodecs/vf_softpulldown.o libmpcodecs/vf_stereo3d.o libmpcodecs/vf_softskip.o libmpcodecs/vf_swapuv.o libmpcodecs/vf_telecine.o libmpcodecs/vf_test.o libmpcodecs/vf_tfields.o libmpcodecs/vf_tile.o libmpcodecs/vf_tinterlace.o libmpcodecs/vf_unsharp.o libmpcodecs/vf_vo.o libmpcodecs/vf_yadif.o libmpcodecs/vf_yuvcsp.o libmpcodecs/vf_yvu9.o libmpdemux/aac_hdr.o libmpdemux/asfheader.o libmpdemux/aviheader.o libmpdemux/aviprint.o libmpdemux/demuxer.o libmpdemux/demux_aac.o libmpdemux/demux_asf.o libmpdemux/demux_audio.o libmpdemux/demux_avi.o libmpdemux/demux_demuxers.o libmpdemux/demux_film.o libmpdemux/demux_fli.o libmpdemux/demux_lmlm4.o libmpdemux/demux_mf.o libmpdemux/demux_mkv.o libmpdemux/demux_mov.o libmpdemux/demux_mpg.o libmpdemux/demux_nsv.o libmpdemux/demux_pva.o libmpdemux/demux_rawaudio.o libmpdemux/demux_rawvideo.o libmpdemux/demux_realaud.o libmpdemux/demux_real.o libmpdemux/demux_roq.o libmpdemux/demux_smjpeg.o libmpdemux/demux_ts.o libmpdemux/demux_ty.o libmpdemux/demux_ty_osd.o libmpdemux/demux_viv.o libmpdemux/demux_vqf.o libmpdemux/demux_y4m.o libmpdemux/ebml.o libmpdemux/extension.o libmpdemux/mf.o libmpdemux/mp3_hdr.o libmpdemux/mp_taglists.o libmpdemux/mpeg_hdr.o libmpdemux/mpeg_packetizer.o libmpdemux/parse_es.o libmpdemux/parse_mp4.o libmpdemux/video.o libmpdemux/yuv4mpeg.o libmpdemux/yuv4mpeg_ratio.o osdep/getch2.o osdep/timer-linux.o stream/open.o stream/stream.o stream/stream_bd.o stream/stream_cue.o stream/stream_file.o stream/stream_mf.o stream/stream_null.o stream/url.o sub/eosd.o sub/find_sub.o sub/osd.o sub/spudec.o sub/sub.o sub/sub_cc.o sub/subreader.o sub/vobsub.o sub/font_load.o stream/stream_cdda.o stream/cdinfo.o stream/stream_cddb.o stream/stream_dvdnav.o stream/stream_dvd.o stream/stream_dvd_common.o libvo/aclib.o av_helpers.o av_opts.o libaf/af_lavcac3enc.o libaf/af_lavcresample.o libmpcodecs/ad_ffmpeg.o libmpcodecs/ad_spdif.o libmpcodecs/vd_ffmpeg.o libmpcodecs/vf_geq.o libmpcodecs/vf_lavc.o libmpcodecs/vf_lavcdeint.o libmpcodecs/vf_screenshot.o libmpdemux/demux_lavf.o stream/stream_ffmpeg.o sub/av_sub.o sub/font_load_ft.o libmpdemux/demux_gif.o libmpcodecs/vf_bmovl.o libaf/af_export.o osdep/mmap_anon.o libmpcodecs/vd_ijpg.o libmpcodecs/ad_liba52.o libmpcodecs/vf_ass.o sub/ass_mp.o sub/subassconvert.o libmpcodecs/ad_libdca.o libmpcodecs/ad_libmad.o stream/stream_smb.o libmpdemux/demux_mng.o libmpcodecs/ad_mpg123.o stream/stream_rtsp.o stream/freesdp/common.o stream/freesdp/errorlist.o stream/freesdp/parser.o stream/librtsp/rtsp.o stream/librtsp/rtsp_rtp.o stream/librtsp/rtsp_session.o stream/stream_netstream.o stream/asf_mmst_streaming.o stream/asf_streaming.o stream/cookies.o stream/http.o stream/network.o stream/pnm.o stream/rtp.o stream/udp.o stream/tcp.o stream/stream_rtp.o stream/stream_udp.o stream/realrtsp/asmrp.o stream/realrtsp/real.o stream/realrtsp/rmff.o stream/realrtsp/sdpplin.o stream/realrtsp/xbuffer.o libmpcodecs/vd_mpng.o libmpcodecs/vf_pp.o stream/cache2.o libmpcodecs/ad_libvorbis.o libmpdemux/demux_ogg.o libmpcodecs/vd_xanim.o libmpcodecs/vd_xvid4.o osdep/shmem.o -Wl,--version-script,binary.ver -Wl,-z,noexecstack -Wl,--as-needed -Wl,--hash-style=gnu -Wl,-O2 -march=native -O3 -fgraphite-identity -ftree-loop-distribution -floop-nest-optimize -flto=8 -fuse-linker-plugin -pipe -fomit-frame-pointer -fno-stack-protector -w -fpie -pie -lncurses -lrt -lgnutls -lsmbclient -lpng -lz -lmng -ljpeg -lz -ljpeg -lgif -lasound -ldl -lpthread -ldvdread -lcdio_cdda -lcdio -lcdio_paranoia -lfreetype -lfontconfig -lass -lenca -lz -lbz2 -llzo2 -lmad -lvorbisenc -lvorbis -logg -lmpg123 -la52 -ldca -lswscale -lswresample -lavformat -lavcodec -lavutil -lpostproc -lxvidcore -lpthread -ldl -rdynamic -ldvdnav -lpthread -lm -lx264 -lpthread -lmp3lame /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/ccQPuP6l.ltrans12.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' collect2: error: ld returned 1 exit status make: [Makefile:747: mencoder] Error 1 make: Waiting for unfinished jobs.... /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_map_factor' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' /var/tmp/portage/media-video/mplayer-1.3.0-r3/temp/cckNglWk.ltrans18.ltrans.o::function render_frame_yuv420p_sse4: error: undefined reference to 'sse_int32_80h' collect2: error: ld returned 1 exit status make: *** [Makefile:747: mplayer] Error 1

InBetweenNames commented 6 years ago

Did you try adding:

media-video/mplayer *FLAGS+=-ffat-lto-objects

to your config? Also, did you try with LTO disabled?

flgw commented 6 years ago

Failed with media-video/mplayer *FLAGS+=-ffat-lto-objects

but this works media-video/mplayer *FLAGS-=-flto*

InBetweenNames commented 6 years ago

OK -- was able to reproduce behaviour here. Fixed in HEAD.