emscripten-core / emscripten

Emscripten: An LLVM-to-WebAssembly Compiler
Other
25.63k stars 3.29k forks source link

Using -flto llvm-strip error: The file was not recognized as a valid object file #22524

Closed jozefchutka closed 1 week ago

jozefchutka commented 1 week ago

Version of emscripten/emsdk:

emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.65 (7f8a05dd4e37cbd7ffde6d624f91fd545f7b52e3)
clang version 20.0.0git (https:/github.com/llvm/llvm-project 547917aebd1e79a8929b53f0ddf3b5185ee4df74)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /ffmpeg-wasm/modules/emsdk/upstream/bin

Failing command line in full:

I am running this .sh script inside docker (debian 12.5) on Mac M2

#!/bin/bash

apt-get update
apt-get install -y git python3.11 build-essential cmake autoconf autogen automake libtool pkg-config ragel wget
git config --global pull.rebase false
ln -sf /usr/bin/python3.11 /usr/bin/python

# EMSDK
git clone --depth=1 --branch main https://github.com/emscripten-core/emsdk/
(cd emsdk && ./emsdk install 3.1.65)
(cd emsdk && ./emsdk activate 3.1.65)
source ./emsdk/emsdk_env.sh

# SETUP
export PATH=$PATH:$EMSDK/upstream/bin
ROOT_DIR=$PWD
WASM_DIR=$ROOT_DIR/wasm
BUILD_DIR=$ROOT_DIR/build
PKG_CONFIG_PATH=$BUILD_DIR/lib/pkgconfig
export EM_PKG_CONFIG_PATH=$PKG_CONFIG_PATH
TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
export CFLAGS="-O3 -flto -I$BUILD_DIR/include -pthread -msimd128"
export CXXFLAGS=$CFLAGS
export LDFLAGS="$CFLAGS -L$BUILD_DIR/lib"
mkdir -p $WASM_DIR

# VPX
git clone --depth=1 --branch v1.14.0 https://github.com/webmproject/libvpx/
(cd libvpx && emconfigure ./configure \
  --prefix=$BUILD_DIR \
  --target=generic-gnu \
  --disable-install-bins \
  --disable-examples \
  --disable-tools \
  --disable-docs \
  --disable-unit-tests \
  --disable-dependency-tracking \
  --disable-shared \
  --disable-codec-srcs \
  --disable-debug-libs \
  --extra-cflags="$CFLAGS" \
  --extra-cxxflags="$CXXFLAGS")
emmake make -C libvpx clean
emmake make -C libvpx install STRIP=emstrip -j

The script fails with the following log:

Setting environment variables:
PATH = /ffmpeg-wasm/issue-XXX/emsdk:/ffmpeg-wasm/issue-XXX/emsdk/upstream/emscripten:/ffmpeg-wasm/modules/emsdk:/ffmpeg-wasm/modules/emsdk/upstream/emscripten:/ffmpeg-wasm/modules/emsdk/node/18.20.3_64bit/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
EMSDK = /ffmpeg-wasm/issue-XXX/emsdk
EMSDK_NODE = /ffmpeg-wasm/issue-XXX/emsdk/node/18.20.3_64bit/bin/node
configure: ./configure --prefix=/ffmpeg-wasm/issue-XXX/build --target=generic-gnu --disable-install-bins --disable-examples --disable-tools --disable-docs --disable-unit-tests --disable-dependency-tracking --disable-shared --disable-codec-srcs --disable-debug-libs "--extra-cflags=-O3 -flto -I/ffmpeg-wasm/issue-XXX/build/include -pthread -msimd128" "--extra-cxxflags=-O3 -flto -I/ffmpeg-wasm/issue-XXX/build/include -pthread -msimd128"
  disabling install_bins
  disabling examples
  disabling tools
  disabling docs
  disabling unit_tests
  disabling dependency_tracking
  disabling shared
  disabling codec_srcs
  disabling debug_libs
  enabling vp8_encoder
  enabling vp8_decoder
  enabling vp9_encoder
  enabling vp9_decoder
Configuring for target 'generic-gnu'
  enabling generic
  enabling pic
  enabling webm_io
  enabling libyuv
Creating makefiles for generic-gnu libs
make: make -C libvpx clean
make: Entering directory '/ffmpeg-wasm/issue-XXX/libvpx'
rm -f 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_tpl.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/psnr.c.o vpx_dsp/sse.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/loopfilter.c.o vpx_dsp/fwd_txfm.c.o vpx_dsp/inv_txfm.c.o vpx_dsp/quantize.c.o vpx_dsp/avg.c.o vpx_dsp/skin_detection.c.o vpx_dsp/sad.c.o vpx_dsp/subtract.c.o vpx_dsp/sum_squares.c.o vpx_dsp/variance.c.o vpx_dsp/vpx_dsp_rtcd.c.o vpx_util/vpx_thread.c.o vpx_util/vpx_write_yuv_frame.c.o vp8/common/alloccommon.c.o vp8/common/blockd.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/vp8_cx_iface.c.o vp8/encoder/bitstream.c.o vp8/encoder/boolhuff.c.o vp8/encoder/copy_c.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/common/vp8_skin_detection.c.o vp8/encoder/tokenize.c.o vp8/encoder/treewriter.c.o vp8/encoder/temporal_filter.c.o vp8/common/alloccommon.c.o vp8/common/blockd.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/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/vp9_iface_common.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.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_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_frame_scale.c.o vp9/encoder/vp9_lookahead.c.o vp9/encoder/vp9_multi_thread.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_360.c.o vp9/encoder/vp9_aq_cyclicrefresh.c.o vp9/encoder/vp9_aq_complexity.c.o vp9/encoder/vp9_alt_ref_aq.c.o vp9/encoder/vp9_skin_detection.c.o vp9/encoder/vp9_noise_estimate.c.o vp9/encoder/vp9_ext_ratectrl.c.o vp9/encoder/vp9_temporal_filter.c.o vp9/encoder/vp9_tpl_model.c.o vp9/encoder/vp9_mbgraph.c.o vp9/vp9_iface_common.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.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_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_decoder.c.o vp9/decoder/vp9_dsubexp.c.o vp9/decoder/vp9_job_queue.c.o vpx_config.c.o vp9/vp9_iface_common.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.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_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_frame_scale.c.o vp9/encoder/vp9_lookahead.c.o vp9/encoder/vp9_multi_thread.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_360.c.o vp9/encoder/vp9_aq_cyclicrefresh.c.o vp9/encoder/vp9_aq_complexity.c.o vp9/encoder/vp9_alt_ref_aq.c.o vp9/encoder/vp9_skin_detection.c.o vp9/encoder/vp9_noise_estimate.c.o vp9/encoder/vp9_ext_ratectrl.c.o vp9/encoder/vp9_temporal_filter.c.o vp9/encoder/vp9_tpl_model.c.o vp9/encoder/vp9_mbgraph.c.o vp8/common/alloccommon.c.o vp8/common/blockd.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/vp8_cx_iface.c.o vp8/encoder/bitstream.c.o vp8/encoder/boolhuff.c.o vp8/encoder/copy_c.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/common/vp8_skin_detection.c.o vp8/encoder/tokenize.c.o vp8/encoder/treewriter.c.o vp8/encoder/temporal_filter.c.o vp9/ratectrl_rtc.cc.o vp8/vp8_ratectrl_rtc.cc.o vpx/src/vpx_decoder.c.d vpx/src/vpx_encoder.c.d vpx/src/vpx_codec.c.d vpx/src/vpx_image.c.d vpx/src/vpx_tpl.c.d vpx_mem/vpx_mem.c.d vpx_scale/generic/vpx_scale.c.d vpx_scale/generic/yv12config.c.d vpx_scale/generic/yv12extend.c.d vpx_scale/generic/gen_scalers.c.d vpx_scale/vpx_scale_rtcd.c.d vpx_dsp/prob.c.d vpx_dsp/bitwriter.c.d vpx_dsp/bitwriter_buffer.c.d vpx_dsp/psnr.c.d vpx_dsp/sse.c.d vpx_dsp/bitreader.c.d vpx_dsp/bitreader_buffer.c.d vpx_dsp/intrapred.c.d vpx_dsp/vpx_convolve.c.d vpx_dsp/loopfilter.c.d vpx_dsp/fwd_txfm.c.d vpx_dsp/inv_txfm.c.d vpx_dsp/quantize.c.d vpx_dsp/avg.c.d vpx_dsp/skin_detection.c.d vpx_dsp/sad.c.d vpx_dsp/subtract.c.d vpx_dsp/sum_squares.c.d vpx_dsp/variance.c.d vpx_dsp/vpx_dsp_rtcd.c.d vpx_util/vpx_thread.c.d vpx_util/vpx_write_yuv_frame.c.d vp8/common/alloccommon.c.d vp8/common/blockd.c.d vp8/common/dequantize.c.d vp8/common/entropy.c.d vp8/common/entropymode.c.d vp8/common/entropymv.c.d vp8/common/extend.c.d vp8/common/filter.c.d vp8/common/findnearmv.c.d vp8/common/generic/systemdependent.c.d vp8/common/idct_blk.c.d vp8/common/idctllm.c.d vp8/common/rtcd.c.d vp8/common/vp8_loopfilter.c.d vp8/common/loopfilter_filters.c.d vp8/common/mbpitch.c.d vp8/common/modecont.c.d vp8/common/quant_common.c.d vp8/common/reconinter.c.d vp8/common/reconintra.c.d vp8/common/reconintra4x4.c.d vp8/common/setupintrarecon.c.d vp8/common/swapyv12buffer.c.d vp8/common/treecoder.c.d vp8/vp8_cx_iface.c.d vp8/encoder/bitstream.c.d vp8/encoder/boolhuff.c.d vp8/encoder/copy_c.c.d vp8/encoder/dct.c.d vp8/encoder/encodeframe.c.d vp8/encoder/encodeintra.c.d vp8/encoder/encodemb.c.d vp8/encoder/encodemv.c.d vp8/encoder/ethreading.c.d vp8/encoder/firstpass.c.d vp8/encoder/denoising.c.d vp8/encoder/lookahead.c.d vp8/encoder/mcomp.c.d vp8/encoder/modecosts.c.d vp8/encoder/onyx_if.c.d vp8/encoder/pickinter.c.d vp8/encoder/picklpf.c.d vp8/encoder/vp8_quantize.c.d vp8/encoder/ratectrl.c.d vp8/encoder/rdopt.c.d vp8/encoder/segmentation.c.d vp8/common/vp8_skin_detection.c.d vp8/encoder/tokenize.c.d vp8/encoder/treewriter.c.d vp8/encoder/temporal_filter.c.d vp8/common/alloccommon.c.d vp8/common/blockd.c.d vp8/common/dequantize.c.d vp8/common/entropy.c.d vp8/common/entropymode.c.d vp8/common/entropymv.c.d vp8/common/extend.c.d vp8/common/filter.c.d vp8/common/findnearmv.c.d vp8/common/generic/systemdependent.c.d vp8/common/idct_blk.c.d vp8/common/idctllm.c.d vp8/common/rtcd.c.d vp8/common/vp8_loopfilter.c.d vp8/common/loopfilter_filters.c.d vp8/common/mbpitch.c.d vp8/common/modecont.c.d vp8/common/quant_common.c.d vp8/common/reconinter.c.d vp8/common/reconintra.c.d vp8/common/reconintra4x4.c.d vp8/common/setupintrarecon.c.d vp8/common/swapyv12buffer.c.d vp8/common/treecoder.c.d vp8/vp8_dx_iface.c.d vp8/decoder/dboolhuff.c.d vp8/decoder/decodemv.c.d vp8/decoder/decodeframe.c.d vp8/decoder/detokenize.c.d vp8/decoder/onyxd_if.c.d vp8/decoder/threading.c.d vp9/vp9_iface_common.c.d vp9/common/vp9_alloccommon.c.d vp9/common/vp9_blockd.c.d vp9/common/vp9_entropy.c.d vp9/common/vp9_entropymode.c.d vp9/common/vp9_entropymv.c.d vp9/common/vp9_frame_buffers.c.d vp9/common/vp9_idct.c.d vp9/common/vp9_filter.c.d vp9/common/vp9_pred_common.c.d vp9/common/vp9_rtcd.c.d vp9/common/vp9_scale.c.d vp9/common/vp9_seg_common.c.d vp9/common/vp9_tile_common.c.d vp9/common/vp9_loopfilter.c.d vp9/common/vp9_thread_common.c.d vp9/common/vp9_mvref_common.c.d vp9/common/vp9_quant_common.c.d vp9/common/vp9_reconinter.c.d vp9/common/vp9_reconintra.c.d vp9/common/vp9_common_data.c.d vp9/common/vp9_scan.c.d vp9/vp9_cx_iface.c.d vp9/encoder/vp9_bitstream.c.d vp9/encoder/vp9_context_tree.c.d vp9/encoder/vp9_cost.c.d vp9/encoder/vp9_dct.c.d vp9/encoder/vp9_encodeframe.c.d vp9/encoder/vp9_encodemb.c.d vp9/encoder/vp9_encodemv.c.d vp9/encoder/vp9_ethread.c.d vp9/encoder/vp9_extend.c.d vp9/encoder/vp9_firstpass.c.d vp9/encoder/vp9_frame_scale.c.d vp9/encoder/vp9_lookahead.c.d vp9/encoder/vp9_multi_thread.c.d vp9/encoder/vp9_mcomp.c.d vp9/encoder/vp9_encoder.c.d vp9/encoder/vp9_picklpf.c.d vp9/encoder/vp9_quantize.c.d vp9/encoder/vp9_ratectrl.c.d vp9/encoder/vp9_rd.c.d vp9/encoder/vp9_rdopt.c.d vp9/encoder/vp9_pickmode.c.d vp9/encoder/vp9_segmentation.c.d vp9/encoder/vp9_speed_features.c.d vp9/encoder/vp9_subexp.c.d vp9/encoder/vp9_svc_layercontext.c.d vp9/encoder/vp9_resize.c.d vp9/encoder/vp9_tokenize.c.d vp9/encoder/vp9_treewriter.c.d vp9/encoder/vp9_aq_variance.c.d vp9/encoder/vp9_aq_360.c.d vp9/encoder/vp9_aq_cyclicrefresh.c.d vp9/encoder/vp9_aq_complexity.c.d vp9/encoder/vp9_alt_ref_aq.c.d vp9/encoder/vp9_skin_detection.c.d vp9/encoder/vp9_noise_estimate.c.d vp9/encoder/vp9_ext_ratectrl.c.d vp9/encoder/vp9_temporal_filter.c.d vp9/encoder/vp9_tpl_model.c.d vp9/encoder/vp9_mbgraph.c.d vp9/vp9_iface_common.c.d vp9/common/vp9_alloccommon.c.d vp9/common/vp9_blockd.c.d vp9/common/vp9_entropy.c.d vp9/common/vp9_entropymode.c.d vp9/common/vp9_entropymv.c.d vp9/common/vp9_frame_buffers.c.d vp9/common/vp9_idct.c.d vp9/common/vp9_filter.c.d vp9/common/vp9_pred_common.c.d vp9/common/vp9_rtcd.c.d vp9/common/vp9_scale.c.d vp9/common/vp9_seg_common.c.d vp9/common/vp9_tile_common.c.d vp9/common/vp9_loopfilter.c.d vp9/common/vp9_thread_common.c.d vp9/common/vp9_mvref_common.c.d vp9/common/vp9_quant_common.c.d vp9/common/vp9_reconinter.c.d vp9/common/vp9_reconintra.c.d vp9/common/vp9_common_data.c.d vp9/common/vp9_scan.c.d vp9/vp9_dx_iface.c.d vp9/decoder/vp9_decodemv.c.d vp9/decoder/vp9_decodeframe.c.d vp9/decoder/vp9_detokenize.c.d vp9/decoder/vp9_decoder.c.d vp9/decoder/vp9_dsubexp.c.d vp9/decoder/vp9_job_queue.c.d vpx_config.c.d vp9/vp9_iface_common.c.d vp9/common/vp9_alloccommon.c.d vp9/common/vp9_blockd.c.d vp9/common/vp9_entropy.c.d vp9/common/vp9_entropymode.c.d vp9/common/vp9_entropymv.c.d vp9/common/vp9_frame_buffers.c.d vp9/common/vp9_idct.c.d vp9/common/vp9_filter.c.d vp9/common/vp9_pred_common.c.d vp9/common/vp9_rtcd.c.d vp9/common/vp9_scale.c.d vp9/common/vp9_seg_common.c.d vp9/common/vp9_tile_common.c.d vp9/common/vp9_loopfilter.c.d vp9/common/vp9_thread_common.c.d vp9/common/vp9_mvref_common.c.d vp9/common/vp9_quant_common.c.d vp9/common/vp9_reconinter.c.d vp9/common/vp9_reconintra.c.d vp9/common/vp9_common_data.c.d vp9/common/vp9_scan.c.d vp9/vp9_cx_iface.c.d vp9/encoder/vp9_bitstream.c.d vp9/encoder/vp9_context_tree.c.d vp9/encoder/vp9_cost.c.d vp9/encoder/vp9_dct.c.d vp9/encoder/vp9_encodeframe.c.d vp9/encoder/vp9_encodemb.c.d vp9/encoder/vp9_encodemv.c.d vp9/encoder/vp9_ethread.c.d vp9/encoder/vp9_extend.c.d vp9/encoder/vp9_firstpass.c.d vp9/encoder/vp9_frame_scale.c.d vp9/encoder/vp9_lookahead.c.d vp9/encoder/vp9_multi_thread.c.d vp9/encoder/vp9_mcomp.c.d vp9/encoder/vp9_encoder.c.d vp9/encoder/vp9_picklpf.c.d vp9/encoder/vp9_quantize.c.d vp9/encoder/vp9_ratectrl.c.d vp9/encoder/vp9_rd.c.d vp9/encoder/vp9_rdopt.c.d vp9/encoder/vp9_pickmode.c.d vp9/encoder/vp9_segmentation.c.d vp9/encoder/vp9_speed_features.c.d vp9/encoder/vp9_subexp.c.d vp9/encoder/vp9_svc_layercontext.c.d vp9/encoder/vp9_resize.c.d vp9/encoder/vp9_tokenize.c.d vp9/encoder/vp9_treewriter.c.d vp9/encoder/vp9_aq_variance.c.d vp9/encoder/vp9_aq_360.c.d vp9/encoder/vp9_aq_cyclicrefresh.c.d vp9/encoder/vp9_aq_complexity.c.d vp9/encoder/vp9_alt_ref_aq.c.d vp9/encoder/vp9_skin_detection.c.d vp9/encoder/vp9_noise_estimate.c.d vp9/encoder/vp9_ext_ratectrl.c.d vp9/encoder/vp9_temporal_filter.c.d vp9/encoder/vp9_tpl_model.c.d vp9/encoder/vp9_mbgraph.c.d vp8/common/alloccommon.c.d vp8/common/blockd.c.d vp8/common/dequantize.c.d vp8/common/entropy.c.d vp8/common/entropymode.c.d vp8/common/entropymv.c.d vp8/common/extend.c.d vp8/common/filter.c.d vp8/common/findnearmv.c.d vp8/common/generic/systemdependent.c.d vp8/common/idct_blk.c.d vp8/common/idctllm.c.d vp8/common/rtcd.c.d vp8/common/vp8_loopfilter.c.d vp8/common/loopfilter_filters.c.d vp8/common/mbpitch.c.d vp8/common/modecont.c.d vp8/common/quant_common.c.d vp8/common/reconinter.c.d vp8/common/reconintra.c.d vp8/common/reconintra4x4.c.d vp8/common/setupintrarecon.c.d vp8/common/swapyv12buffer.c.d vp8/common/treecoder.c.d vp8/vp8_cx_iface.c.d vp8/encoder/bitstream.c.d vp8/encoder/boolhuff.c.d vp8/encoder/copy_c.c.d vp8/encoder/dct.c.d vp8/encoder/encodeframe.c.d vp8/encoder/encodeintra.c.d vp8/encoder/encodemb.c.d vp8/encoder/encodemv.c.d vp8/encoder/ethreading.c.d vp8/encoder/firstpass.c.d vp8/encoder/denoising.c.d vp8/encoder/lookahead.c.d vp8/encoder/mcomp.c.d vp8/encoder/modecosts.c.d vp8/encoder/onyx_if.c.d vp8/encoder/pickinter.c.d vp8/encoder/picklpf.c.d vp8/encoder/vp8_quantize.c.d vp8/encoder/ratectrl.c.d vp8/encoder/rdopt.c.d vp8/encoder/segmentation.c.d vp8/common/vp8_skin_detection.c.d vp8/encoder/tokenize.c.d vp8/encoder/treewriter.c.d vp8/encoder/temporal_filter.c.d vp9/ratectrl_rtc.cc.d vp8/vp8_ratectrl_rtc.cc.d 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_tpl.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/psnr.c.o vpx_dsp/sse.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/loopfilter.c.o vpx_dsp/fwd_txfm.c.o vpx_dsp/inv_txfm.c.o vpx_dsp/quantize.c.o vpx_dsp/avg.c.o vpx_dsp/skin_detection.c.o vpx_dsp/sad.c.o vpx_dsp/subtract.c.o vpx_dsp/sum_squares.c.o vpx_dsp/variance.c.o vpx_dsp/vpx_dsp_rtcd.c.o vpx_util/vpx_thread.c.o vpx_util/vpx_write_yuv_frame.c.o vp8/common/alloccommon.c.o vp8/common/blockd.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/vp8_cx_iface.c.o vp8/encoder/bitstream.c.o vp8/encoder/boolhuff.c.o vp8/encoder/copy_c.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/common/vp8_skin_detection.c.o vp8/encoder/tokenize.c.o vp8/encoder/treewriter.c.o vp8/encoder/temporal_filter.c.o vp8/common/alloccommon.c.o vp8/common/blockd.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/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/vp9_iface_common.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.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_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_frame_scale.c.o vp9/encoder/vp9_lookahead.c.o vp9/encoder/vp9_multi_thread.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_360.c.o vp9/encoder/vp9_aq_cyclicrefresh.c.o vp9/encoder/vp9_aq_complexity.c.o vp9/encoder/vp9_alt_ref_aq.c.o vp9/encoder/vp9_skin_detection.c.o vp9/encoder/vp9_noise_estimate.c.o vp9/encoder/vp9_ext_ratectrl.c.o vp9/encoder/vp9_temporal_filter.c.o vp9/encoder/vp9_tpl_model.c.o vp9/encoder/vp9_mbgraph.c.o vp9/vp9_iface_common.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.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_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_decoder.c.o vp9/decoder/vp9_dsubexp.c.o vp9/decoder/vp9_job_queue.c.o vpx_config.c.o vp9/vp9_iface_common.c.o vp9/common/vp9_alloccommon.c.o vp9/common/vp9_blockd.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_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_frame_scale.c.o vp9/encoder/vp9_lookahead.c.o vp9/encoder/vp9_multi_thread.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_360.c.o vp9/encoder/vp9_aq_cyclicrefresh.c.o vp9/encoder/vp9_aq_complexity.c.o vp9/encoder/vp9_alt_ref_aq.c.o vp9/encoder/vp9_skin_detection.c.o vp9/encoder/vp9_noise_estimate.c.o vp9/encoder/vp9_ext_ratectrl.c.o vp9/encoder/vp9_temporal_filter.c.o vp9/encoder/vp9_tpl_model.c.o vp9/encoder/vp9_mbgraph.c.o vp8/common/alloccommon.c.o vp8/common/blockd.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/vp8_cx_iface.c.o vp8/encoder/bitstream.c.o vp8/encoder/boolhuff.c.o vp8/encoder/copy_c.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/common/vp8_skin_detection.c.o vp8/encoder/tokenize.c.o vp8/encoder/treewriter.c.o vp8/encoder/temporal_filter.c.o vp9/ratectrl_rtc.cc.o vp8/vp8_ratectrl_rtc.cc.o
rm -f vpx_scale_rtcd.h vpx_dsp_rtcd.h vp8_rtcd.h vp9_rtcd.h libvpx_srcs.txt libvpx.def libvpx_dll.a vpx.pc libvpx.ver libvpx.syms vpx_config.asm vpx_version.h libs.doxy
rm -f .docs .install-docs 
rm -f .bins .install-bins 
rm -f .libs .install-libs libvpx.a libvpx_g.a vpx.pc libvpxrc.a libvpxrc_g.a
rm -f .install-srcs
rm -f   
rm -f 
rm -f .docs .install-docs 
rm -f .bins .install-bins 
rm -f .libs .install-libs 
rm -f .install-srcs
make: Leaving directory '/ffmpeg-wasm/issue-XXX/libvpx'
make: make -C libvpx install STRIP=emstrip -j
make: Entering directory '/ffmpeg-wasm/issue-XXX/libvpx'
    [CREATE] vpx_scale_rtcd.h
    [CREATE] vpx_dsp_rtcd.h
    [CREATE] vp8_rtcd.h
    [CREATE] vp9_rtcd.h
    [CREATE] vpx.pc
    [CC] vpx/src/vpx_decoder.c.o
    [CC] vpx/src/vpx_tpl.c.o
    [CC] vpx/src/vpx_encoder.c.o
    [CC] vpx/src/vpx_image.c.o
    [CC] vpx/src/vpx_codec.c.o
    [CC] vpx_scale/generic/vpx_scale.c.o
    [CC] vpx_mem/vpx_mem.c.o
    [CC] vpx_scale/generic/yv12config.c.o
    [CC] vpx_scale/generic/yv12extend.c.o
    [CC] vpx_scale/generic/gen_scalers.c.o
    [CC] vpx_scale/vpx_scale_rtcd.c.o
    [CC] vpx_dsp/prob.c.o
    [CC] vpx_dsp/bitwriter.c.o
    [CC] vpx_dsp/bitwriter_buffer.c.o
    [CC] vpx_dsp/psnr.c.o
    [CC] vpx_dsp/sse.c.o
    [CC] vpx_dsp/bitreader.c.o
    [CC] vpx_dsp/bitreader_buffer.c.o
    [CC] vpx_dsp/intrapred.c.o
    [CC] vpx_dsp/vpx_convolve.c.o
    [CC] vpx_dsp/loopfilter.c.o
    [CC] vpx_dsp/fwd_txfm.c.o
    [CC] vpx_dsp/inv_txfm.c.o
    [CC] vpx_dsp/quantize.c.o
    [CC] vpx_dsp/skin_detection.c.o
    [CC] vpx_dsp/avg.c.o
    [CC] vpx_dsp/sad.c.o
    [CC] vpx_dsp/subtract.c.o
    [CC] vpx_dsp/sum_squares.c.o
    [CC] vpx_dsp/variance.c.o
    [CC] vpx_dsp/vpx_dsp_rtcd.c.o
    [CC] vpx_util/vpx_thread.c.o
    [CC] vpx_util/vpx_write_yuv_frame.c.o
    [CC] vp8/common/alloccommon.c.o
    [CC] vp8/common/blockd.c.o
    [CC] vp8/common/entropy.c.o
    [CC] vp8/common/dequantize.c.o
    [CC] vp8/common/entropymode.c.o
    [CC] vp8/common/entropymv.c.o
    [CC] vp8/common/extend.c.o
    [CC] vp8/common/filter.c.o
    [CC] vp8/common/findnearmv.c.o
    [CC] vp8/common/generic/systemdependent.c.o
    [CC] vp8/common/idct_blk.c.o
    [CC] vp8/common/idctllm.c.o
    [CC] vp8/common/rtcd.c.o
    [CC] vp8/common/vp8_loopfilter.c.o
    [CC] vp8/common/loopfilter_filters.c.o
    [CC] vp8/common/mbpitch.c.o
    [CC] vp8/common/modecont.c.o
    [CC] vp8/common/quant_common.c.o
    [CC] vp8/common/reconinter.c.o
    [CC] vp8/common/reconintra.c.o
    [CC] vp8/common/reconintra4x4.c.o
    [CC] vp8/common/setupintrarecon.c.o
    [CC] vp8/common/swapyv12buffer.c.o
    [CC] vp8/common/treecoder.c.o
    [CC] vp8/vp8_cx_iface.c.o
    [CC] vp8/encoder/bitstream.c.o
    [CC] vp8/encoder/boolhuff.c.o
    [CC] vp8/encoder/copy_c.c.o
    [CC] vp8/encoder/dct.c.o
    [CC] vp8/encoder/encodeframe.c.o
    [CC] vp8/encoder/encodeintra.c.o
    [CC] vp8/encoder/encodemb.c.o
    [CC] vp8/encoder/encodemv.c.o
    [CC] vp8/encoder/ethreading.c.o
    [CC] vp8/encoder/firstpass.c.o
    [CC] vp8/encoder/denoising.c.o
    [CC] vp8/encoder/lookahead.c.o
    [CC] vp8/encoder/mcomp.c.o
    [CC] vp8/encoder/modecosts.c.o
    [CC] vp8/encoder/onyx_if.c.o
    [CC] vp8/encoder/pickinter.c.o
    [CC] vp8/encoder/picklpf.c.o
    [CC] vp8/encoder/vp8_quantize.c.o
    [CC] vp8/encoder/ratectrl.c.o
    [CC] vp8/encoder/rdopt.c.o
    [CC] vp8/encoder/segmentation.c.o
    [CC] vp8/common/vp8_skin_detection.c.o
    [CC] vp8/encoder/tokenize.c.o
    [CC] vp8/encoder/treewriter.c.o
    [CC] vp8/encoder/temporal_filter.c.o
    [CC] vp8/vp8_dx_iface.c.o
    [CC] vp8/decoder/dboolhuff.c.o
    [CC] vp8/decoder/decodemv.c.o
    [CC] vp8/decoder/decodeframe.c.o
    [CC] vp8/decoder/detokenize.c.o
    [CC] vp8/decoder/onyxd_if.c.o
    [CC] vp8/decoder/threading.c.o
    [CC] vp9/vp9_iface_common.c.o
    [CC] vp9/common/vp9_alloccommon.c.o
    [CC] vp9/common/vp9_blockd.c.o
    [CC] vp9/common/vp9_entropy.c.o
    [CC] vp9/common/vp9_entropymode.c.o
    [CC] vp9/common/vp9_entropymv.c.o
    [CC] vp9/common/vp9_frame_buffers.c.o
    [CC] vp9/common/vp9_idct.c.o
    [CC] vp9/common/vp9_filter.c.o
    [CC] vp9/common/vp9_pred_common.c.o
    [CC] vp9/common/vp9_rtcd.c.o
    [CC] vp9/common/vp9_scale.c.o
    [CC] vp9/common/vp9_seg_common.c.o
    [CC] vp9/common/vp9_tile_common.c.o
    [CC] vp9/common/vp9_loopfilter.c.o
    [CC] vp9/common/vp9_thread_common.c.o
    [CC] vp9/common/vp9_mvref_common.c.o
    [CC] vp9/common/vp9_quant_common.c.o
    [CC] vp9/common/vp9_reconinter.c.o
    [CC] vp9/common/vp9_reconintra.c.o
    [CC] vp9/common/vp9_common_data.c.o
    [CC] vp9/common/vp9_scan.c.o
    [CC] vp9/vp9_cx_iface.c.o
    [CC] vp9/encoder/vp9_bitstream.c.o
    [CC] vp9/encoder/vp9_context_tree.c.o
    [CC] vp9/encoder/vp9_cost.c.o
    [CC] vp9/encoder/vp9_dct.c.o
    [CC] vp9/encoder/vp9_encodeframe.c.o
    [CC] vp9/encoder/vp9_encodemb.c.o
    [CC] vp9/encoder/vp9_encodemv.c.o
    [CC] vp9/encoder/vp9_ethread.c.o
    [CC] vp9/encoder/vp9_extend.c.o
    [CC] vp9/encoder/vp9_frame_scale.c.o
    [CC] vp9/encoder/vp9_firstpass.c.o
    [CC] vp9/encoder/vp9_lookahead.c.o
    [CC] vp9/encoder/vp9_multi_thread.c.o
    [CC] vp9/encoder/vp9_mcomp.c.o
    [CC] vp9/encoder/vp9_encoder.c.o
    [CC] vp9/encoder/vp9_picklpf.c.o
    [CC] vp9/encoder/vp9_quantize.c.o
    [CC] vp9/encoder/vp9_ratectrl.c.o
    [CC] vp9/encoder/vp9_rd.c.o
    [CC] vp9/encoder/vp9_rdopt.c.o
    [CC] vp9/encoder/vp9_pickmode.c.o
    [CC] vp9/encoder/vp9_segmentation.c.o
    [CC] vp9/encoder/vp9_speed_features.c.o
    [CC] vp9/encoder/vp9_subexp.c.o
    [CC] vp9/encoder/vp9_svc_layercontext.c.o
    [CC] vp9/encoder/vp9_resize.c.o
    [CC] vp9/encoder/vp9_tokenize.c.o
    [CC] vp9/encoder/vp9_treewriter.c.o
    [CC] vp9/encoder/vp9_aq_variance.c.o
    [CC] vp9/encoder/vp9_aq_360.c.o
    [CC] vp9/encoder/vp9_aq_cyclicrefresh.c.o
    [CC] vp9/encoder/vp9_aq_complexity.c.o
    [CC] vp9/encoder/vp9_alt_ref_aq.c.o
    [CC] vp9/encoder/vp9_skin_detection.c.o
    [CC] vp9/encoder/vp9_noise_estimate.c.o
    [CC] vp9/encoder/vp9_ext_ratectrl.c.o
    [CC] vp9/encoder/vp9_temporal_filter.c.o
    [CC] vp9/encoder/vp9_tpl_model.c.o
    [CC] vp9/encoder/vp9_mbgraph.c.o
    [CC] vp9/vp9_dx_iface.c.o
    [CC] vp9/decoder/vp9_decodemv.c.o
    [CC] vp9/decoder/vp9_decodeframe.c.o
    [CC] vp9/decoder/vp9_detokenize.c.o
    [CC] vp9/decoder/vp9_decoder.c.o
    [CC] vp9/decoder/vp9_dsubexp.c.o
    [CC] vp9/decoder/vp9_job_queue.c.o
    [CC] vpx_config.c.o
    [CXX] vp9/ratectrl_rtc.cc.o
    [CXX] vp8/vp8_ratectrl_rtc.cc.o
    [INSTALL] /ffmpeg-wasm/issue-XXX/build/lib/pkgconfig/vpx.pc
    [AR] libvpx_g.a
    [AR] libvpxrc_g.a
    [STRIP] libvpxrc.a < libvpxrc_g.a
/ffmpeg-wasm/issue-XXX/emsdk/upstream/bin/llvm-strip: error: 'libvpxrc_g.a(vp9_iface_common.c.o)': The file was not recognized as a valid object file
make[1]: *** [Makefile:243: libvpxrc.a] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:17: .DEFAULT] Error 2
make: Leaving directory '/ffmpeg-wasm/issue-XXX/libvpx'
emmake: error: 'make -C libvpx install STRIP=emstrip -j' failed (returned 2)

When -flto is removed CFLAGS, the build completes successfully.

I am not sure if this is emscripten or vpx issue, but considering the -flto makes difference it makes me think the issue is with emscripten.

Any idea what is going wrong?

sbc100 commented 1 week ago

llvm-strip doesn't work on LTO object, even outside of emscripten:

$ clang -c test/hello_world.c -flto 
$ llvm-strip hello_world.o 
llvm-strip: error: 'hello_world.o': The file was not recognized as a valid object file

So if you want to use LTO I guess you would need to tell the build system not to run strip on those libraries.

jozefchutka commented 1 week ago

Is this something to be reported on llvm tracker as a missing feature/bug, or lto and strip are mutually exclusive in general and I should raise this with libvpx team?

sbc100 commented 1 week ago

It appears they are mutually exclusive in the llvm world at least. You could file an upstream llvm bug to ask for this feature, or you could look into adding some kind of options to tell libvpxrc not to try to strip status libraries.

sbc100 commented 1 week ago

In any case I don't think this something we/should fix downstream in emscripten so I think this issue can be closed.

jozefchutka commented 1 week ago

Thanks for you insights