View previous topic :: View next topic |
Author |
Message |
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Wed Apr 12, 2017 7:24 pm Post subject: libvpx can't compile with CPU_FLAGS_X86 mmx or sse2 |
|
|
When I try to compile libvpx, I'm getting this error: Code: | [CREATE] libvpx.ver
echo "{ global:" > libvpx.ver
for f in /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp8/exports_enc /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp8/exports_dec /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp9/exports_enc /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp9/exports_dec /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vpx/exports_com /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vpx/exports_enc /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vpx/exports_dec; do awk '{print $2";"}' < $f >>libvpx.ver; done
echo "local: *; };" >> libvpx.ver
x86_64-pc-linux-gnux32-g++ -shared -Wl,-O1 -Wl,--as-needed -mx32 -Wl,--no-undefined -Wl,-soname,libvpx.so.3 -Wl,--version-script,libvpx.ver -o libvpx.so.3.0.0 vpx/src/vpx_decoder.c.o vpx/src/vpx_encoder.c.o vpx/src/vpx_codec.c.o vpx/src/vpx_image.c.o vpx/src/vpx_psnr.c.o vpx_mem/vpx_mem.c.o vpx_scale/generic/vpx_scale.c.o vpx_scale/generic/yv12config.c.o vpx_scale/generic/yv12extend.c.o vpx_scale/generic/gen_scalers.c.o vpx_scale/vpx_scale_rtcd.c.o vpx_dsp/prob.c.o vpx_dsp/bitwriter.c.o vpx_dsp/bitwriter_buffer.c.o vpx_dsp/bitreader.c.o vpx_dsp/bitreader_buffer.c.o vpx_dsp/intrapred.c.o vpx_dsp/vpx_convolve.c.o vpx_dsp/x86/vpx_asm_stubs.c.o vpx_dsp/loopfilter.c.o vpx_dsp/x86/loopfilter_sse2.c.o vpx_dsp/fwd_txfm.c.o vpx_dsp/x86/fwd_txfm_sse2.c.o vpx_dsp/inv_txfm.c.o vpx_dsp/x86/inv_txfm_sse2.c.o vpx_dsp/quantize.c.o vpx_dsp/x86/quantize_sse2.c.o vpx_dsp/sad.c.o vpx_dsp/subtract.c.o vpx_dsp/variance.c.o vpx_dsp/x86/variance_mmx.c.o vpx_dsp/x86/variance_sse2.c.o vpx_dsp/x86/halfpix_variance_sse2.c.o vpx_dsp/vpx_dsp_rtcd.c.o vpx_util/vpx_thread.c.o vp8/common/alloccommon.c.o vp8/common/blockd.c.o vp8/common/copy_c.c.o vp8/common/debugmodes.c.o vp8/common/dequantize.c.o vp8/common/entropy.c.o vp8/common/entropymode.c.o vp8/common/entropymv.c.o vp8/common/extend.c.o vp8/common/filter.c.o vp8/common/findnearmv.c.o vp8/common/generic/systemdependent.c.o vp8/common/idct_blk.c.o vp8/common/idctllm.c.o vp8/common/rtcd.c.o vp8/common/vp8_loopfilter.c.o vp8/common/loopfilter_filters.c.o vp8/common/mbpitch.c.o vp8/common/modecont.c.o vp8/common/quant_common.c.o vp8/common/reconinter.c.o vp8/common/reconintra.c.o vp8/common/reconintra4x4.c.o vp8/common/setupintrarecon.c.o vp8/common/swapyv12buffer.c.o vp8/common/treecoder.c.o vp8/common/x86/filter_x86.c.o vp8/common/x86/vp8_asm_stubs.c.o vp8/common/x86/loopfilter_x86.c.o vp8/common/x86/idct_blk_mmx.c.o vp8/common/x86/idct_blk_sse2.c.o vp8/vp8_cx_iface.c.o vp8/encoder/bitstream.c.o vp8/encoder/boolhuff.c.o vp8/encoder/dct.c.o vp8/encoder/encodeframe.c.o vp8/encoder/encodeintra.c.o vp8/encoder/encodemb.c.o vp8/encoder/encodemv.c.o vp8/encoder/ethreading.c.o vp8/encoder/firstpass.c.o vp8/encoder/denoising.c.o vp8/encoder/lookahead.c.o vp8/encoder/mcomp.c.o vp8/encoder/modecosts.c.o vp8/encoder/onyx_if.c.o vp8/encoder/pickinter.c.o vp8/encoder/picklpf.c.o vp8/encoder/vp8_quantize.c.o vp8/encoder/ratectrl.c.o vp8/encoder/rdopt.c.o vp8/encoder/segmentation.c.o vp8/encoder/tokenize.c.o vp8/encoder/treewriter.c.o vp8/encoder/temporal_filter.c.o vp8/encoder/x86/vp8_enc_stubs_mmx.c.o vp8/encoder/x86/vp8_quantize_sse2.c.o vp8/encoder/x86/denoising_sse2.c.o vp8/encoder/x86/vp8_enc_stubs_sse2.c.o vp8/vp8_dx_iface.c.o vp8/decoder/dboolhuff.c.o vp8/decoder/decodemv.c.o vp8/decoder/decodeframe.c.o vp8/decoder/detokenize.c.o vp8/decoder/onyxd_if.c.o vp8/decoder/threading.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.c.o vp9/common/vp9_debugmodes.c.o vp9/common/vp9_entropy.c.o vp9/common/vp9_entropymode.c.o vp9/common/vp9_entropymv.c.o vp9/common/vp9_frame_buffers.c.o vp9/common/vp9_idct.c.o vp9/common/vp9_filter.c.o vp9/common/vp9_pred_common.c.o vp9/common/vp9_rtcd.c.o vp9/common/vp9_scale.c.o vp9/common/vp9_seg_common.c.o vp9/common/vp9_tile_common.c.o vp9/common/vp9_loopfilter.c.o vp9/common/vp9_thread_common.c.o vp9/common/vp9_mvref_common.c.o vp9/common/vp9_quant_common.c.o vp9/common/vp9_reconinter.c.o vp9/common/vp9_reconintra.c.o vp9/common/vp9_common_data.c.o vp9/common/vp9_scan.c.o vp9/common/x86/vp9_idct_intrin_sse2.c.o vp9/vp9_cx_iface.c.o vp9/encoder/vp9_avg.c.o vp9/encoder/vp9_bitstream.c.o vp9/encoder/vp9_context_tree.c.o vp9/encoder/vp9_cost.c.o vp9/encoder/vp9_dct.c.o vp9/encoder/vp9_encodeframe.c.o vp9/encoder/vp9_encodemb.c.o vp9/encoder/vp9_encodemv.c.o vp9/encoder/vp9_ethread.c.o vp9/encoder/vp9_extend.c.o vp9/encoder/vp9_firstpass.c.o vp9/encoder/vp9_lookahead.c.o vp9/encoder/vp9_mcomp.c.o vp9/encoder/vp9_encoder.c.o vp9/encoder/vp9_picklpf.c.o vp9/encoder/vp9_quantize.c.o vp9/encoder/vp9_ratectrl.c.o vp9/encoder/vp9_rd.c.o vp9/encoder/vp9_rdopt.c.o vp9/encoder/vp9_pickmode.c.o vp9/encoder/vp9_segmentation.c.o vp9/encoder/vp9_speed_features.c.o vp9/encoder/vp9_subexp.c.o vp9/encoder/vp9_svc_layercontext.c.o vp9/encoder/vp9_resize.c.o vp9/encoder/vp9_tokenize.c.o vp9/encoder/vp9_treewriter.c.o vp9/encoder/vp9_aq_variance.c.o vp9/encoder/vp9_aq_cyclicrefresh.c.o vp9/encoder/vp9_aq_complexity.c.o vp9/encoder/vp9_skin_detection.c.o vp9/encoder/vp9_temporal_filter.c.o vp9/encoder/vp9_mbgraph.c.o vp9/encoder/x86/vp9_avg_intrin_sse2.c.o vp9/encoder/x86/vp9_quantize_sse2.c.o vp9/encoder/x86/vp9_dct_sse2.c.o vp9/vp9_dx_iface.c.o vp9/decoder/vp9_decodemv.c.o vp9/decoder/vp9_decodeframe.c.o vp9/decoder/vp9_detokenize.c.o vp9/decoder/vp9_dthread.c.o vp9/decoder/vp9_decoder.c.o vp9/decoder/vp9_dsubexp.c.o vpx_config.c.o vpx_ports/emms.asm.o vpx_ports/x86_abi_support.asm.o vpx_dsp/x86/intrapred_sse2.asm.o vpx_dsp/x86/vpx_subpixel_8t_sse2.asm.o vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm.o vpx_dsp/x86/vpx_convolve_copy_sse2.asm.o vpx_dsp/x86/loopfilter_mmx.asm.o vpx_dsp/x86/inv_wht_sse2.asm.o vpx_dsp/x86/sad_mmx.asm.o vpx_dsp/x86/sad_sse3.asm.o vpx_dsp/x86/sad4d_sse2.asm.o vpx_dsp/x86/sad_sse2.asm.o vpx_dsp/x86/subtract_sse2.asm.o vpx_dsp/x86/variance_impl_mmx.asm.o vpx_dsp/x86/halfpix_variance_impl_sse2.asm.o vpx_dsp/x86/ssim_opt_x86_64.asm.o vpx_dsp/x86/subpel_variance_sse2.asm.o vp8/common/x86/dequantize_mmx.asm.o vp8/common/x86/idctllm_mmx.asm.o vp8/common/x86/iwalsh_mmx.asm.o vp8/common/x86/vp8_loopfilter_mmx.asm.o vp8/common/x86/recon_mmx.asm.o vp8/common/x86/subpixel_mmx.asm.o vp8/common/x86/copy_sse2.asm.o vp8/common/x86/idctllm_sse2.asm.o vp8/common/x86/recon_sse2.asm.o vp8/common/x86/subpixel_sse2.asm.o vp8/common/x86/loopfilter_sse2.asm.o vp8/common/x86/iwalsh_sse2.asm.o vp8/common/x86/copy_sse3.asm.o vp8/common/x86/loopfilter_block_sse2_x86_64.asm.o vp8/encoder/x86/dct_mmx.asm.o vp8/encoder/x86/dct_sse2.asm.o vp8/encoder/x86/fwalsh_sse2.asm.o vp8/encoder/x86/temporal_filter_apply_sse2.asm.o vp8/encoder/x86/quantize_mmx.asm.o vp8/encoder/x86/encodeopt.asm.o vp9/encoder/x86/vp9_temporal_filter_apply_sse2.asm.o vp9/encoder/x86/vp9_dct_mmx.asm.o vp9/encoder/x86/vp9_error_sse2.asm.o -lpthread -lm
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance64x64_sse2':
variance_sse2.c:(.text+0xa3e): undefined reference to `vpx_sub_pixel_variance16xh_sse2'
variance_sse2.c:(.text+0xa87): undefined reference to `vpx_sub_pixel_variance16xh_sse2'
variance_sse2.c:(.text+0xada): undefined reference to `vpx_sub_pixel_variance16xh_sse2'
variance_sse2.c:(.text+0xb2d): undefined reference to `vpx_sub_pixel_variance16xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance64x32_sse2':
variance_sse2.c:(.text+0xbe0): undefined reference to `vpx_sub_pixel_variance16xh_sse2'
vpx_dsp/x86/variance_sse2.c.o:variance_sse2.c:(.text+0xc29): more undefined references to `vpx_sub_pixel_variance16xh_sse2' follow
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance8x16_sse2':
variance_sse2.c:(.text+0x119a): undefined reference to `vpx_sub_pixel_variance8xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance8x8_sse2':
variance_sse2.c:(.text+0x120a): undefined reference to `vpx_sub_pixel_variance8xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance8x4_sse2':
variance_sse2.c:(.text+0x127a): undefined reference to `vpx_sub_pixel_variance8xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance4x8_sse':
variance_sse2.c:(.text+0x12ea): undefined reference to `vpx_sub_pixel_variance4xh_sse'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance4x4_sse':
variance_sse2.c:(.text+0x135a): undefined reference to `vpx_sub_pixel_variance4xh_sse'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance64x64_ssse3':
variance_sse2.c:(.text+0x13ed): undefined reference to `vpx_sub_pixel_variance16xh_ssse3'
variance_sse2.c:(.text+0x1436): undefined reference to `vpx_sub_pixel_variance16xh_ssse3'
variance_sse2.c:(.text+0x1489): undefined reference to `vpx_sub_pixel_variance16xh_ssse3'
variance_sse2.c:(.text+0x14dc): undefined reference to `vpx_sub_pixel_variance16xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance64x32_ssse3':
variance_sse2.c:(.text+0x158f): undefined reference to `vpx_sub_pixel_variance16xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o:variance_sse2.c:(.text+0x15d8): more undefined references to `vpx_sub_pixel_variance16xh_ssse3' follow
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance8x16_ssse3':
variance_sse2.c:(.text+0x1b49): undefined reference to `vpx_sub_pixel_variance8xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance8x8_ssse3':
variance_sse2.c:(.text+0x1bb9): undefined reference to `vpx_sub_pixel_variance8xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance8x4_ssse3':
variance_sse2.c:(.text+0x1c29): undefined reference to `vpx_sub_pixel_variance8xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance4x8_ssse3':
variance_sse2.c:(.text+0x1c99): undefined reference to `vpx_sub_pixel_variance4xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_variance4x4_ssse3':
variance_sse2.c:(.text+0x1d09): undefined reference to `vpx_sub_pixel_variance4xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance64x64_sse2':
variance_sse2.c:(.text+0x1db9): undefined reference to `vpx_sub_pixel_avg_variance16xh_sse2'
variance_sse2.c:(.text+0x1e18): undefined reference to `vpx_sub_pixel_avg_variance16xh_sse2'
variance_sse2.c:(.text+0x1e7c): undefined reference to `vpx_sub_pixel_avg_variance16xh_sse2'
variance_sse2.c:(.text+0x1ee0): undefined reference to `vpx_sub_pixel_avg_variance16xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance64x32_sse2':
variance_sse2.c:(.text+0x1fac): undefined reference to `vpx_sub_pixel_avg_variance16xh_sse2'
vpx_dsp/x86/variance_sse2.c.o:variance_sse2.c:(.text+0x200b): more undefined references to `vpx_sub_pixel_avg_variance16xh_sse2' follow
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance8x16_sse2':
variance_sse2.c:(.text+0x2687): undefined reference to `vpx_sub_pixel_avg_variance8xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance8x8_sse2':
variance_sse2.c:(.text+0x270c): undefined reference to `vpx_sub_pixel_avg_variance8xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance8x4_sse2':
variance_sse2.c:(.text+0x2791): undefined reference to `vpx_sub_pixel_avg_variance8xh_sse2'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance4x8_sse':
variance_sse2.c:(.text+0x2816): undefined reference to `vpx_sub_pixel_avg_variance4xh_sse'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance4x4_sse':
variance_sse2.c:(.text+0x289b): undefined reference to `vpx_sub_pixel_avg_variance4xh_sse'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance64x64_ssse3':
variance_sse2.c:(.text+0x294b): undefined reference to `vpx_sub_pixel_avg_variance16xh_ssse3'
variance_sse2.c:(.text+0x29aa): undefined reference to `vpx_sub_pixel_avg_variance16xh_ssse3'
variance_sse2.c:(.text+0x2a0e): undefined reference to `vpx_sub_pixel_avg_variance16xh_ssse3'
variance_sse2.c:(.text+0x2a72): undefined reference to `vpx_sub_pixel_avg_variance16xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance64x32_ssse3':
variance_sse2.c:(.text+0x2b3e): undefined reference to `vpx_sub_pixel_avg_variance16xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o:variance_sse2.c:(.text+0x2b9d): more undefined references to `vpx_sub_pixel_avg_variance16xh_ssse3' follow
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance8x16_ssse3':
variance_sse2.c:(.text+0x3219): undefined reference to `vpx_sub_pixel_avg_variance8xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance8x8_ssse3':
variance_sse2.c:(.text+0x329e): undefined reference to `vpx_sub_pixel_avg_variance8xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance8x4_ssse3':
variance_sse2.c:(.text+0x3323): undefined reference to `vpx_sub_pixel_avg_variance8xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance4x8_ssse3':
variance_sse2.c:(.text+0x33a8): undefined reference to `vpx_sub_pixel_avg_variance4xh_ssse3'
vpx_dsp/x86/variance_sse2.c.o: In function `vpx_sub_pixel_avg_variance4x4_ssse3':
variance_sse2.c:(.text+0x342d): undefined reference to `vpx_sub_pixel_avg_variance4xh_ssse3'
vp8/common/reconintra.c.o: In function `vp8_init_intra_predictors_internal':
reconintra.c:(.text+0x2): undefined reference to `vpx_v_predictor_16x16_sse2'
reconintra.c:(.text+0x1a): undefined reference to `vpx_tm_predictor_16x16_sse2'
reconintra.c:(.text+0x26): undefined reference to `vpx_dc_128_predictor_16x16_sse2'
reconintra.c:(.text+0x32): undefined reference to `vpx_dc_top_predictor_16x16_sse2'
reconintra.c:(.text+0x3e): undefined reference to `vpx_dc_left_predictor_16x16_sse2'
reconintra.c:(.text+0x4a): undefined reference to `vpx_dc_predictor_16x16_sse2'
reconintra.c:(.text+0x56): undefined reference to `vpx_v_predictor_8x8_sse'
reconintra.c:(.text+0x6e): undefined reference to `vpx_tm_predictor_8x8_sse2'
reconintra.c:(.text+0x7a): undefined reference to `vpx_dc_128_predictor_8x8_sse'
reconintra.c:(.text+0x86): undefined reference to `vpx_dc_top_predictor_8x8_sse'
reconintra.c:(.text+0x92): undefined reference to `vpx_dc_left_predictor_8x8_sse'
reconintra.c:(.text+0x9e): undefined reference to `vpx_dc_predictor_8x8_sse'
vp8/common/reconintra4x4.c.o: In function `vp8_init_intra4x4_predictors_internal':
reconintra4x4.c:(.text+0x2): undefined reference to `vpx_dc_predictor_4x4_sse'
reconintra4x4.c:(.text+0xe): undefined reference to `vpx_tm_predictor_4x4_sse'
vp8/encoder/encodemb.c.o: In function `vp8_subtract_b':
encodemb.c:(.text+0x92c): undefined reference to `vpx_subtract_block_sse2'
vp8/encoder/encodemb.c.o: In function `vp8_subtract_mbuv':
encodemb.c:(.text+0x975): undefined reference to `vpx_subtract_block_sse2'
encodemb.c:(.text+0x9a1): undefined reference to `vpx_subtract_block_sse2'
vp8/encoder/encodemb.c.o: In function `vp8_subtract_mby':
encodemb.c:(.text+0x9d8): undefined reference to `vpx_subtract_block_sse2'
vp8/encoder/onyx_if.c.o: In function `vp8_create_compressor':
onyx_if.c:(.text+0x3152): undefined reference to `vpx_sad16x16_sse2'
onyx_if.c:(.text+0x31bd): undefined reference to `vpx_sad16x16x4d_sse2'
onyx_if.c:(.text+0x31ca): undefined reference to `vpx_sad16x8_sse2'
onyx_if.c:(.text+0x322f): undefined reference to `vpx_sad16x8x4d_sse2'
onyx_if.c:(.text+0x323c): undefined reference to `vpx_sad8x16_sse2'
onyx_if.c:(.text+0x32a1): undefined reference to `vpx_sad8x16x4d_sse2'
onyx_if.c:(.text+0x32ae): undefined reference to `vpx_sad8x8_sse2'
onyx_if.c:(.text+0x3313): undefined reference to `vpx_sad8x8x4d_sse2'
onyx_if.c:(.text+0x3320): undefined reference to `vpx_sad4x4_sse'
onyx_if.c:(.text+0x3385): undefined reference to `vpx_sad4x4x4d_sse'
vp9/common/vp9_idct.c.o: In function `vp9_iwht4x4_add':
vp9_idct.c:(.text+0x3e1): undefined reference to `vpx_iwht4x4_16_add_sse2'
vp9/common/vp9_scale.c.o: In function `vp9_setup_scale_factors_for_frame':
vp9_scale.c:(.text+0x212): undefined reference to `vpx_convolve_copy_sse2'
vp9_scale.c:(.text+0x21c): undefined reference to `vpx_convolve_avg_sse2'
vp9/common/vp9_reconintra.c.o: In function `vp9_init_intra_predictors_internal':
vp9_reconintra.c:(.text+0x2): undefined reference to `vpx_v_predictor_4x4_sse'
vp9_reconintra.c:(.text+0xe): undefined reference to `vpx_v_predictor_8x8_sse'
vp9_reconintra.c:(.text+0x1a): undefined reference to `vpx_v_predictor_16x16_sse2'
vp9_reconintra.c:(.text+0x26): undefined reference to `vpx_v_predictor_32x32_sse2'
vp9_reconintra.c:(.text+0x182): undefined reference to `vpx_tm_predictor_4x4_sse'
vp9_reconintra.c:(.text+0x18e): undefined reference to `vpx_tm_predictor_8x8_sse2'
vp9_reconintra.c:(.text+0x19a): undefined reference to `vpx_tm_predictor_16x16_sse2'
vp9_reconintra.c:(.text+0x1a6): undefined reference to `vpx_tm_predictor_32x32_sse2'
vp9_reconintra.c:(.text+0x1b2): undefined reference to `vpx_dc_128_predictor_4x4_sse'
vp9_reconintra.c:(.text+0x1be): undefined reference to `vpx_dc_128_predictor_8x8_sse'
vp9_reconintra.c:(.text+0x1ca): undefined reference to `vpx_dc_128_predictor_16x16_sse2'
vp9_reconintra.c:(.text+0x1d6): undefined reference to `vpx_dc_128_predictor_32x32_sse2'
vp9_reconintra.c:(.text+0x1e2): undefined reference to `vpx_dc_top_predictor_4x4_sse'
vp9_reconintra.c:(.text+0x1ee): undefined reference to `vpx_dc_top_predictor_8x8_sse'
vp9_reconintra.c:(.text+0x1fa): undefined reference to `vpx_dc_top_predictor_16x16_sse2'
vp9_reconintra.c:(.text+0x206): undefined reference to `vpx_dc_top_predictor_32x32_sse2'
vp9_reconintra.c:(.text+0x212): undefined reference to `vpx_dc_left_predictor_4x4_sse'
vp9_reconintra.c:(.text+0x21e): undefined reference to `vpx_dc_left_predictor_8x8_sse'
vp9_reconintra.c:(.text+0x22a): undefined reference to `vpx_dc_left_predictor_16x16_sse2'
vp9_reconintra.c:(.text+0x236): undefined reference to `vpx_dc_left_predictor_32x32_sse2'
vp9_reconintra.c:(.text+0x242): undefined reference to `vpx_dc_predictor_4x4_sse'
vp9_reconintra.c:(.text+0x24e): undefined reference to `vpx_dc_predictor_8x8_sse'
vp9_reconintra.c:(.text+0x25a): undefined reference to `vpx_dc_predictor_16x16_sse2'
vp9_reconintra.c:(.text+0x266): undefined reference to `vpx_dc_predictor_32x32_sse2'
vp9/encoder/vp9_encodeframe.c.o: In function `encode_frame_internal':
vp9_encodeframe.c:(.text+0xc125): undefined reference to `vp9_fwht4x4_mmx'
vp9/encoder/vp9_encodemb.c.o: In function `vp9_encode_block_intra':
vp9_encodemb.c:(.text+0x527): undefined reference to `vpx_subtract_block_sse2'
vp9_encodemb.c:(.text+0x621): undefined reference to `vpx_subtract_block_sse2'
vp9_encodemb.c:(.text+0x710): undefined reference to `vpx_subtract_block_sse2'
vp9_encodemb.c:(.text+0x7ff): undefined reference to `vpx_subtract_block_sse2'
vp9/encoder/vp9_encodemb.c.o: In function `vp9_subtract_plane':
vp9_encodemb.c:(.text+0x18a8): undefined reference to `vpx_subtract_block_sse2'
vp9/encoder/vp9_encoder.c.o: In function `vp9_create_compressor':
vp9_encoder.c:(.text+0x2d86): undefined reference to `vpx_sad32x16_sse2'
vp9_encoder.c:(.text+0x2d98): undefined reference to `vpx_sad32x16_avg_sse2'
vp9_encoder.c:(.text+0x2e00): undefined reference to `vpx_sad32x16x4d_sse2'
vp9_encoder.c:(.text+0x2e12): undefined reference to `vpx_sad16x32_sse2'
vp9_encoder.c:(.text+0x2e24): undefined reference to `vpx_sad16x32_avg_sse2'
vp9_encoder.c:(.text+0x2e8c): undefined reference to `vpx_sad16x32x4d_sse2'
vp9_encoder.c:(.text+0x2e9e): undefined reference to `vpx_sad64x32_sse2'
vp9_encoder.c:(.text+0x2eb0): undefined reference to `vpx_sad64x32_avg_sse2'
vp9_encoder.c:(.text+0x2f18): undefined reference to `vpx_sad64x32x4d_sse2'
vp9_encoder.c:(.text+0x2f2a): undefined reference to `vpx_sad32x64_sse2'
vp9_encoder.c:(.text+0x2f3c): undefined reference to `vpx_sad32x64_avg_sse2'
vp9_encoder.c:(.text+0x2fa4): undefined reference to `vpx_sad32x64x4d_sse2'
vp9_encoder.c:(.text+0x2fb6): undefined reference to `vpx_sad32x32_sse2'
vp9_encoder.c:(.text+0x2fc8): undefined reference to `vpx_sad32x32_avg_sse2'
vp9_encoder.c:(.text+0x3034): undefined reference to `vpx_sad32x32x4d_sse2'
vp9_encoder.c:(.text+0x3046): undefined reference to `vpx_sad64x64_sse2'
vp9_encoder.c:(.text+0x3058): undefined reference to `vpx_sad64x64_avg_sse2'
vp9_encoder.c:(.text+0x30c4): undefined reference to `vpx_sad64x64x4d_sse2'
vp9_encoder.c:(.text+0x30d6): undefined reference to `vpx_sad16x16_sse2'
vp9_encoder.c:(.text+0x30e8): undefined reference to `vpx_sad16x16_avg_sse2'
vp9_encoder.c:(.text+0x3157): undefined reference to `vpx_sad16x16x4d_sse2'
vp9_encoder.c:(.text+0x3169): undefined reference to `vpx_sad16x8_sse2'
vp9_encoder.c:(.text+0x317b): undefined reference to `vpx_sad16x8_avg_sse2'
vp9_encoder.c:(.text+0x31ea): undefined reference to `vpx_sad16x8x4d_sse2'
vp9_encoder.c:(.text+0x31fc): undefined reference to `vpx_sad8x16_sse2'
vp9_encoder.c:(.text+0x320e): undefined reference to `vpx_sad8x16_avg_sse2'
vp9_encoder.c:(.text+0x327d): undefined reference to `vpx_sad8x16x4d_sse2'
vp9_encoder.c:(.text+0x328f): undefined reference to `vpx_sad8x8_sse2'
vp9_encoder.c:(.text+0x32a1): undefined reference to `vpx_sad8x8_avg_sse2'
vp9_encoder.c:(.text+0x3310): undefined reference to `vpx_sad8x8x4d_sse2'
vp9_encoder.c:(.text+0x3322): undefined reference to `vpx_sad8x4_sse2'
vp9_encoder.c:(.text+0x3334): undefined reference to `vpx_sad8x4_avg_sse2'
vp9_encoder.c:(.text+0x339e): undefined reference to `vpx_sad8x4x4d_sse2'
vp9_encoder.c:(.text+0x33b0): undefined reference to `vpx_sad4x8_sse'
vp9_encoder.c:(.text+0x33c2): undefined reference to `vpx_sad4x8_avg_sse'
vp9_encoder.c:(.text+0x342c): undefined reference to `vpx_sad4x8x4d_sse'
vp9_encoder.c:(.text+0x343e): undefined reference to `vpx_sad4x4_sse'
vp9_encoder.c:(.text+0x3450): undefined reference to `vpx_sad4x4_avg_sse'
vp9_encoder.c:(.text+0x34bf): undefined reference to `vpx_sad4x4x4d_sse'
vp9/encoder/vp9_encoder.c.o: In function `vp9_get_compressed_data':
vp9_encoder.c:(.text+0x6b72): undefined reference to `vp9_fwht4x4_mmx'
vp9/encoder/vp9_rdopt.c.o: In function `dist_block':
vp9_rdopt.c:(.text+0xaff): undefined reference to `vp9_block_error_sse2'
vp9/encoder/vp9_rdopt.c.o: In function `rd_pick_intra_sub_8x8_y_mode':
vp9_rdopt.c:(.text+0x351a): undefined reference to `vpx_subtract_block_sse2'
vp9_rdopt.c:(.text+0x3610): undefined reference to `vp9_block_error_sse2'
vp9_rdopt.c:(.text+0x3751): undefined reference to `vp9_fwht4x4_mmx'
vp9/encoder/vp9_rdopt.c.o: In function `rd_pick_best_sub8x8_mode':
vp9_rdopt.c:(.text+0x6a24): undefined reference to `vpx_subtract_block_sse2'
vp9_rdopt.c:(.text+0x6b91): undefined reference to `vp9_block_error_sse2'
vp9/encoder/vp9_pickmode.c.o: In function `block_yrd.constprop.11':
vp9_pickmode.c:(.text+0xc4e): undefined reference to `vp9_block_error_fp_sse2'
vp9/encoder/vp9_pickmode.c.o: In function `vp9_pick_inter_mode':
vp9_pickmode.c:(.text+0x2da0): undefined reference to `vpx_convolve_copy_sse2'
vp9_pickmode.c:(.text+0x2e68): undefined reference to `vpx_convolve_copy_sse2'
vp9/encoder/vp9_mbgraph.c.o: In function `do_16x16_motion_iteration':
vp9_mbgraph.c:(.text+0x29e): undefined reference to `vpx_sad16x16_sse2'
vp9/encoder/vp9_mbgraph.c.o: In function `vp9_update_mbgraph_stats':
vp9_mbgraph.c:(.text+0x64f): undefined reference to `vpx_sad16x16_sse2'
vp9_mbgraph.c:(.text+0x6c1): undefined reference to `vpx_sad16x16_sse2'
vp9_mbgraph.c:(.text+0x7a0): undefined reference to `vpx_sad16x16_sse2'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:388: libvpx.so.3.0.0] Error 1
make: *** [Makefile:17: .DEFAULT] Error 2
* ERROR: media-libs/libvpx-1.5.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=media-libs/libvpx-1.5.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=media-libs/libvpx-1.5.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/environment'.
* Working directory: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0-abi_x86_x32.x32'
* S: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0'
>>> Failed to emerge media-libs/libvpx-1.5.0, Log file:
>>> '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/build.log'
* Messages for package media-libs/libvpx-1.5.0:
* ERROR: media-libs/libvpx-1.5.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=media-libs/libvpx-1.5.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=media-libs/libvpx-1.5.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/environment'.
* Working directory: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0-abi_x86_x32.x32'
* S: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0' |
Disabling sse2 didn't fix it (however, it does seem to have shorted the error message considerably): Code: | [CREATE] libvpx.ver
echo "{ global:" > libvpx.ver
for f in /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp8/exports_enc /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp8/exports_dec /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp9/exports_enc /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vp9/exports_dec /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vpx/exports_com /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vpx/exports_enc /var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0/vpx/exports_dec; do awk '{print $2";"}' < $f >>libvpx.ver; done
echo "local: *; };" >> libvpx.ver
x86_64-pc-linux-gnux32-g++ -shared -Wl,-O1 -Wl,--as-needed -mx32 -Wl,--no-undefined -Wl,-soname,libvpx.so.3 -Wl,--version-script,libvpx.ver -o libvpx.so.3.0.0 vpx/src/vpx_decoder.c.o vpx/src/vpx_encoder.c.o vpx/src/vpx_codec.c.o vpx/src/vpx_image.c.o vpx/src/vpx_psnr.c.o vpx_mem/vpx_mem.c.o vpx_scale/generic/vpx_scale.c.o vpx_scale/generic/yv12config.c.o vpx_scale/generic/yv12extend.c.o vpx_scale/generic/gen_scalers.c.o vpx_scale/vpx_scale_rtcd.c.o vpx_dsp/prob.c.o vpx_dsp/bitwriter.c.o vpx_dsp/bitwriter_buffer.c.o vpx_dsp/bitreader.c.o vpx_dsp/bitreader_buffer.c.o vpx_dsp/intrapred.c.o vpx_dsp/vpx_convolve.c.o vpx_dsp/x86/vpx_asm_stubs.c.o vpx_dsp/loopfilter.c.o vpx_dsp/x86/loopfilter_sse2.c.o vpx_dsp/fwd_txfm.c.o vpx_dsp/inv_txfm.c.o vpx_dsp/quantize.c.o vpx_dsp/sad.c.o vpx_dsp/subtract.c.o vpx_dsp/variance.c.o vpx_dsp/x86/variance_mmx.c.o vpx_dsp/vpx_dsp_rtcd.c.o vpx_util/vpx_thread.c.o vp8/common/alloccommon.c.o vp8/common/blockd.c.o vp8/common/copy_c.c.o vp8/common/debugmodes.c.o vp8/common/dequantize.c.o vp8/common/entropy.c.o vp8/common/entropymode.c.o vp8/common/entropymv.c.o vp8/common/extend.c.o vp8/common/filter.c.o vp8/common/findnearmv.c.o vp8/common/generic/systemdependent.c.o vp8/common/idct_blk.c.o vp8/common/idctllm.c.o vp8/common/rtcd.c.o vp8/common/vp8_loopfilter.c.o vp8/common/loopfilter_filters.c.o vp8/common/mbpitch.c.o vp8/common/modecont.c.o vp8/common/quant_common.c.o vp8/common/reconinter.c.o vp8/common/reconintra.c.o vp8/common/reconintra4x4.c.o vp8/common/setupintrarecon.c.o vp8/common/swapyv12buffer.c.o vp8/common/treecoder.c.o vp8/common/x86/filter_x86.c.o vp8/common/x86/vp8_asm_stubs.c.o vp8/common/x86/loopfilter_x86.c.o vp8/common/x86/idct_blk_mmx.c.o vp8/vp8_cx_iface.c.o vp8/encoder/bitstream.c.o vp8/encoder/boolhuff.c.o vp8/encoder/dct.c.o vp8/encoder/encodeframe.c.o vp8/encoder/encodeintra.c.o vp8/encoder/encodemb.c.o vp8/encoder/encodemv.c.o vp8/encoder/ethreading.c.o vp8/encoder/firstpass.c.o vp8/encoder/denoising.c.o vp8/encoder/lookahead.c.o vp8/encoder/mcomp.c.o vp8/encoder/modecosts.c.o vp8/encoder/onyx_if.c.o vp8/encoder/pickinter.c.o vp8/encoder/picklpf.c.o vp8/encoder/vp8_quantize.c.o vp8/encoder/ratectrl.c.o vp8/encoder/rdopt.c.o vp8/encoder/segmentation.c.o vp8/encoder/tokenize.c.o vp8/encoder/treewriter.c.o vp8/encoder/temporal_filter.c.o vp8/encoder/x86/vp8_enc_stubs_mmx.c.o vp8/vp8_dx_iface.c.o vp8/decoder/dboolhuff.c.o vp8/decoder/decodemv.c.o vp8/decoder/decodeframe.c.o vp8/decoder/detokenize.c.o vp8/decoder/onyxd_if.c.o vp8/decoder/threading.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.c.o vp9/common/vp9_debugmodes.c.o vp9/common/vp9_entropy.c.o vp9/common/vp9_entropymode.c.o vp9/common/vp9_entropymv.c.o vp9/common/vp9_frame_buffers.c.o vp9/common/vp9_idct.c.o vp9/common/vp9_filter.c.o vp9/common/vp9_pred_common.c.o vp9/common/vp9_rtcd.c.o vp9/common/vp9_scale.c.o vp9/common/vp9_seg_common.c.o vp9/common/vp9_tile_common.c.o vp9/common/vp9_loopfilter.c.o vp9/common/vp9_thread_common.c.o vp9/common/vp9_mvref_common.c.o vp9/common/vp9_quant_common.c.o vp9/common/vp9_reconinter.c.o vp9/common/vp9_reconintra.c.o vp9/common/vp9_common_data.c.o vp9/common/vp9_scan.c.o vp9/vp9_cx_iface.c.o vp9/encoder/vp9_avg.c.o vp9/encoder/vp9_bitstream.c.o vp9/encoder/vp9_context_tree.c.o vp9/encoder/vp9_cost.c.o vp9/encoder/vp9_dct.c.o vp9/encoder/vp9_encodeframe.c.o vp9/encoder/vp9_encodemb.c.o vp9/encoder/vp9_encodemv.c.o vp9/encoder/vp9_ethread.c.o vp9/encoder/vp9_extend.c.o vp9/encoder/vp9_firstpass.c.o vp9/encoder/vp9_lookahead.c.o vp9/encoder/vp9_mcomp.c.o vp9/encoder/vp9_encoder.c.o vp9/encoder/vp9_picklpf.c.o vp9/encoder/vp9_quantize.c.o vp9/encoder/vp9_ratectrl.c.o vp9/encoder/vp9_rd.c.o vp9/encoder/vp9_rdopt.c.o vp9/encoder/vp9_pickmode.c.o vp9/encoder/vp9_segmentation.c.o vp9/encoder/vp9_speed_features.c.o vp9/encoder/vp9_subexp.c.o vp9/encoder/vp9_svc_layercontext.c.o vp9/encoder/vp9_resize.c.o vp9/encoder/vp9_tokenize.c.o vp9/encoder/vp9_treewriter.c.o vp9/encoder/vp9_aq_variance.c.o vp9/encoder/vp9_aq_cyclicrefresh.c.o vp9/encoder/vp9_aq_complexity.c.o vp9/encoder/vp9_skin_detection.c.o vp9/encoder/vp9_temporal_filter.c.o vp9/encoder/vp9_mbgraph.c.o vp9/vp9_dx_iface.c.o vp9/decoder/vp9_decodemv.c.o vp9/decoder/vp9_decodeframe.c.o vp9/decoder/vp9_detokenize.c.o vp9/decoder/vp9_dthread.c.o vp9/decoder/vp9_decoder.c.o vp9/decoder/vp9_dsubexp.c.o vpx_config.c.o vpx_ports/emms.asm.o vpx_ports/x86_abi_support.asm.o vpx_dsp/x86/loopfilter_mmx.asm.o vpx_dsp/x86/sad_mmx.asm.o vpx_dsp/x86/sad_sse3.asm.o vpx_dsp/x86/variance_impl_mmx.asm.o vp8/common/x86/dequantize_mmx.asm.o vp8/common/x86/idctllm_mmx.asm.o vp8/common/x86/iwalsh_mmx.asm.o vp8/common/x86/vp8_loopfilter_mmx.asm.o vp8/common/x86/recon_mmx.asm.o vp8/common/x86/subpixel_mmx.asm.o vp8/common/x86/copy_sse3.asm.o vp8/encoder/x86/dct_mmx.asm.o vp8/encoder/x86/quantize_mmx.asm.o vp8/encoder/x86/encodeopt.asm.o vp9/encoder/x86/vp9_dct_mmx.asm.o -lpthread -lm
vp9/encoder/vp9_encodeframe.c.o: In function `encode_frame_internal':
vp9_encodeframe.c:(.text+0xc125): undefined reference to `vp9_fwht4x4_mmx'
vp9/encoder/vp9_encoder.c.o: In function `vp9_get_compressed_data':
vp9_encoder.c:(.text+0x6b72): undefined reference to `vp9_fwht4x4_mmx'
vp9/encoder/vp9_rdopt.c.o: In function `rd_pick_intra_sub_8x8_y_mode':
vp9_rdopt.c:(.text+0x555e): undefined reference to `vp9_fwht4x4_mmx'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:388: libvpx.so.3.0.0] Error 1
make: *** [Makefile:17: .DEFAULT] Error 2
* ERROR: media-libs/libvpx-1.5.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=media-libs/libvpx-1.5.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=media-libs/libvpx-1.5.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/environment'.
* Working directory: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0-abi_x86_x32.x32'
* S: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0'
>>> Failed to emerge media-libs/libvpx-1.5.0, Log file:
>>> '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/build.log'
* Messages for package media-libs/libvpx-1.5.0:
* ERROR: media-libs/libvpx-1.5.0::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=media-libs/libvpx-1.5.0::gentoo'`,
* the complete build log and the output of `emerge -pqv '=media-libs/libvpx-1.5.0::gentoo'`.
* The complete build log is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-libs/libvpx-1.5.0/temp/environment'.
* Working directory: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0-abi_x86_x32.x32'
* S: '/var/tmp/portage/media-libs/libvpx-1.5.0/work/libvpx-1.5.0' |
Ultimately, disabling both sse2 and mmx seems to have fixed the error…but what can I do to help fix the problem? _________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Wed Apr 12, 2017 7:35 pm Post subject: |
|
|
Is it a new bug, perhaps? _________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Wed Apr 12, 2017 8:20 pm Post subject: Re: libvpx can't compile with CPU_FLAGS_X86 mmx or sse2 |
|
|
squeegily wrote: | Code: | x86_64-pc-linux-gnux32-g++ -shared -Wl,-O1 -Wl,--as-needed -mx32 [...] |
|
squeegily ... that would be ABI_X86="x32", so I would suspect it is a multilib issue (either it doesn't build with x32, or some required lib isn't built with ABI_X86="x32" and/or CPU_FLAGS_X86="mmx sse2").
best ... khay |
|
Back to top |
|
|
fcl Tux's lil' helper
Joined: 31 Dec 2016 Posts: 77
|
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Wed Apr 12, 2017 8:59 pm Post subject: |
|
|
fcl wrote: | What does `emerge -p libvpx` output? the CPU_FLAGS_X86 expands especially |
fcl ... in which case you'll need to supply '-v,--verbose' along with '-p,--pretend'.
best ... khay |
|
Back to top |
|
|
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Wed Apr 12, 2017 10:03 pm Post subject: |
|
|
Nothing particularly interesting, really: (Screenshot w/ colors) Code: | These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] media-libs/libvpx-1.5.0:0/3::gentoo USE="threads -doc -postproc -static-libs -svc {-test}" ABI_X86="64 (x32) -32" CPU_FLAGS_X86="mmx* sse sse2* sse3 -avx -avx2 -sse4_1 -ssse3" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB |
As you can see, SSE and SSE3 are enabled, and MMX and SSE2 are queued to be enabled because I only disabled them via temporary override. (The package is installed currently) _________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Wed Apr 12, 2017 10:17 pm Post subject: |
|
|
squeegily wrote: | Code: | [ebuild R ] media-libs/libvpx-1.5.0:0/3::gentoo USE="threads -doc -postproc -static-libs -svc {-test}" ABI_X86="64 (x32) -32" CPU_FLAGS_X86="mmx* sse sse2* sse3 -avx -avx2 -sse4_1 -ssse3" 0 KiB |
|
squeegily ... I can't explain why you would get an x32 build, it's not included in your ABI_X86, it's also confusing that you would have x86_64-pc-linux-gnux32-g++ ... so something here doesn't add up.
best ... khay |
|
Back to top |
|
|
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Wed Apr 12, 2017 11:01 pm Post subject: |
|
|
khayyam wrote: | squeegily wrote: | Code: | [ebuild R ] media-libs/libvpx-1.5.0:0/3::gentoo USE="threads -doc -postproc -static-libs -svc {-test}" ABI_X86="64 (x32) -32" CPU_FLAGS_X86="mmx* sse sse2* sse3 -avx -avx2 -sse4_1 -ssse3" 0 KiB |
|
squeegily ... I can't explain why you would get an x32 build, it's not included in your ABI_X86, it's also confusing that you would have x86_64-pc-linux-gnux32-g++ ... so something here doesn't add up.
best ... khay | I'd forgotten but just now realized+remembered that this is an x32 computer. (It's an old Pentium 4, only supports 4GB RAM, which does stand to benefit from both the reduced memory footprint and taking advantage of every instruction available.)
So I suppose that SSE2 and MMX support on x32 may very well just be plain upstream-broken. _________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Wed Apr 12, 2017 11:28 pm Post subject: |
|
|
squeegily wrote: | khayyam wrote: | squeegily wrote: | Code: | [ebuild R ] media-libs/libvpx-1.5.0:0/3::gentoo USE="threads -doc -postproc -static-libs -svc {-test}" ABI_X86="64 (x32) -32" CPU_FLAGS_X86="mmx* sse sse2* sse3 -avx -avx2 -sse4_1 -ssse3" 0 KiB |
|
squeegily ... I can't explain why you would get an x32 build, it's not included in your ABI_X86, it's also confusing that you would have x86_64-pc-linux-gnux32-g++ ... so something here doesn't add up. |
I'd forgotten but just now realized+remembered that this is an x32 computer. (It's an old Pentium 4, only supports 4GB RAM, which does stand to benefit from both the reduced memory footprint and taking advantage of every instruction available.) |
squeegily ... that may be the case for the processor, but the install is a different matter, you have ABI_X86="64 (x32) -32" (which is no-multilib) yet you have x86_64-pc-linux-gnux32-g++ ... and are compiling for x32. None of that makes sense to me (admittedly my knowledge of multilib is scant).
best ... khay |
|
Back to top |
|
|
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Wed Apr 12, 2017 11:29 pm Post subject: |
|
|
Emerging the unstable libvpx-1.6.1 didn't work, but it looks like some dude came up with the solution 4 years ago: https://github.com/gentoo-arm-ru/overlay/blob/master/media-libs/libvpx/files/libvpx-1.1.0-x32.patch
Going to see if I can't get this adapted to a recent version of libvpx…EDIT: nevermind; they've already been ported. So why is this happening? _________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Wed Apr 12, 2017 11:36 pm Post subject: |
|
|
khayyam wrote: | install is a different matter, you have ABI_X86="64 (x32) -32" (which is no-multilib) yet you have x86_64-pc-linux-gnux32-g++ ... and are compiling for x32. None of that makes sense to me (admittedly my knowledge of multilib is scant).
best ... khay | ABI_X86 is undefined in my make.conf…I left it at the profile-provided (default/linux/amd64/13.0/x32) default. Is manually disabling abi_x86_64 recommended/appropriate?
“x86_64-pc-linux-gnux32” came with the make.conf in the default x32 tarball (x32 being, basically, 64-bit: requiring a 64-bit processor and using all 64-bit instructions, it uses the x86_64 kernel rather than having a "dedicated" arch…it makes sense that it would use an x86_64-pc-linux- compiler, no?)
Code: | USE=-abi_x86_64 emerge -v1 libvpx | didn't work; I got the same problems from SSE2 and MMX. _________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Thu Apr 13, 2017 1:22 am Post subject: |
|
|
Welp. It looks like /usr/lib was ITS OWN DIRECTORY, rather than a symlink to /usr/libx32 (which was ALSO its own directory)
This was clearly a horribly fubared system and I'm going to assume it caused these problems (I was also experiencing problems with mozilla's "mach" build system being unable to import __future__..then I knew something was up system-wide)
…and, in trying to fix it, I actually wrecked my system. I'm rebootstrapping now, this time WITH a /usr/lib -> libx32 symlink there (that should really be the way the default system image works…) _________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Thu Apr 13, 2017 4:21 am Post subject: |
|
|
squeegily wrote: | khayyam wrote: | you have ABI_X86="64 (x32) -32" (which is no-multilib) yet you have x86_64-pc-linux-gnux32-g++ ... and are compiling for x32. None of that makes sense to me (admittedly my knowledge of multilib is scant). |
ABI_X86 is undefined in my make.conf…I left it at the profile-provided (default/linux/amd64/13.0/x32) default. Is manually disabling abi_x86_64 recommended/appropriate? |
squeegily ... my bad, I read that completely wrong, ABI_X86="64 (x32) -32" is not "no-multilib". As I said, my knowledge of multilib is scant, but if the flag can be modified then yes, you could disable it. However, if it's enabled by default in the profile/stage3 then you might find reversing it causes issues. That said, it seems your issue was elsewhere ... so nay mind.
best ... khay |
|
Back to top |
|
|
squeegily n00b
Joined: 17 Apr 2016 Posts: 57
|
Posted: Sat Apr 15, 2017 3:05 pm Post subject: |
|
|
khayyam wrote: | squeegily ... my bad, I read that completely wrong, ABI_X86="64 (x32) -32" is not "no-multilib". As I said, my knowledge of multilib is scant, but if the flag can be modified then yes, you could disable it. However, if it's enabled by default in the profile/stage3 then you might find reversing it causes issues. That said, it seems your issue was elsewhere ... so nay mind.
best ... khay | So, it seems that it DOES, by default, come as x86_64/x32 multilib. Adding ABI_X86="x32" to make.conf converted it into a "pure" setup.
That aside, I've done some testing, and it seems that media-libs/libvpx has this curious compatibility relationship with CPU_FLAGS_X86 on x32: Code: | | MMX | SSE | SSE2 | SSE3
--------+------+------+------+------
~1.6.1: | X | O | X | O
~1.6.0: | O | O | X | O
~1.5.0: | X | O | X | O | SSE and SSE3 are always safe to enable; MMX only works on 1.6.0-r1.
(Regrettably I was unable to test SSSE3, SSE4_1, AVX, or AVX2.)
I've added the following to my package.use.mask; though, is this something that ought to be upstreamed to default/linux/amd64/13.0/x32? Code: | media-libs/libvpx cpu_flags_x86_mmx cpu_flags_x86_sse2
~media-libs/libvpx-1.6.0 -cpu_flags_x86_mmx |
_________________ ~0x4657bfb0
Code: | print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>
)]}\EsMsKsN0[lN*1lK[d2%Sa2/d0<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<J]dsJxp"|dc` |
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|