Bug #5200

ffmpeg OPUS module build crash on ubuntu 16.04

Added by saen acro 2 months ago. Updated about 1 month ago.

Status:NewStart date:2018-09-12
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:General
Target version:-
Found in version:4.3-1313 Affected Versions:

Description

after https://github.com/tvheadend/tvheadend/commit/b10cc922ba8601690e23584951214a6e2e53fb3e
https://tvheadend.org/projects/tvheadend/repository/revisions/b10cc922ba8601690e23584951214a6e2e53fb3e
Opus library cannot be build
OS Ubuntu 16.04 32bit, Ubuntu 16.04 x64 inside Windows Subsystem for Linux

DESTDIR=/opt/tvheadend/build.linux/ffmpeg/build \
        make -C /opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc install
make[4]: Entering directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make  install-recursive
make[5]: Entering directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make[6]: Entering directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make[7]: Entering directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc/doc'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc/doc'
  CC       celt/bands.lo
  CC       celt/celt.lo
  CC       celt/celt_encoder.lo
  CC       celt/celt_decoder.lo
  CC       celt/cwrs.lo
  CC       celt/entcode.lo
  CC       celt/entdec.lo
  CC       celt/entenc.lo
  CC       celt/kiss_fft.lo
  CC       celt/laplace.lo
  CC       celt/mathops.lo
  CC       celt/mdct.lo
  CC       celt/modes.lo
  CC       celt/pitch.lo
  CC       celt/celt_lpc.lo
  CC       celt/quant_bands.lo
  CC       celt/rate.lo
  CC       celt/vq.lo
  CC       celt/x86/x86cpu.lo
  CC       celt/x86/x86_celt_map.lo
  CC       celt/x86/pitch_sse.lo
  CC       celt/x86/pitch_sse2.lo
  CC       celt/x86/vq_sse2.lo
  CC       celt/x86/celt_lpc_sse4_1.lo
  CC       celt/x86/pitch_sse4_1.lo
  CC       silk/CNG.lo
  CC       silk/code_signs.lo
  CC       silk/init_decoder.lo
  CC       silk/decode_core.lo
  CC       silk/decode_frame.lo
  CC       silk/decode_parameters.lo
  CC       silk/decode_indices.lo
  CC       silk/decode_pulses.lo
  CC       silk/decoder_set_fs.lo
  CC       silk/dec_API.lo
  CC       silk/enc_API.lo
  CC       silk/encode_indices.lo
  CC       silk/encode_pulses.lo
  CC       silk/gain_quant.lo
  CC       silk/interpolate.lo
  CC       silk/LP_variable_cutoff.lo
  CC       silk/NLSF_decode.lo
  CC       silk/NSQ.lo
  CC       silk/NSQ_del_dec.lo
  CC       silk/PLC.lo
  CC       silk/shell_coder.lo
  CC       silk/tables_gain.lo
  CC       silk/tables_LTP.lo
  CC       silk/tables_NLSF_CB_NB_MB.lo
  CC       silk/tables_NLSF_CB_WB.lo
  CC       silk/tables_other.lo
  CC       silk/tables_pitch_lag.lo
  CC       silk/tables_pulses_per_block.lo
  CC       silk/VAD.lo
  CC       silk/control_audio_bandwidth.lo
  CC       silk/quant_LTP_gains.lo
  CC       silk/VQ_WMat_EC.lo
  CC       silk/HP_variable_cutoff.lo
  CC       silk/NLSF_encode.lo
  CC       silk/NLSF_VQ.lo
  CC       silk/NLSF_unpack.lo
  CC       silk/NLSF_del_dec_quant.lo
  CC       silk/process_NLSFs.lo
  CC       silk/stereo_LR_to_MS.lo
  CC       silk/stereo_MS_to_LR.lo
  CC       silk/check_control_input.lo
  CC       silk/control_SNR.lo
  CC       silk/init_encoder.lo
  CC       silk/control_codec.lo
  CC       silk/A2NLSF.lo
  CC       silk/ana_filt_bank_1.lo
  CC       silk/biquad_alt.lo
  CC       silk/bwexpander_32.lo
  CC       silk/bwexpander.lo
  CC       silk/debug.lo
  CC       silk/decode_pitch.lo
  CC       silk/inner_prod_aligned.lo
  CC       silk/lin2log.lo
  CC       silk/log2lin.lo
  CC       silk/LPC_analysis_filter.lo
  CC       silk/LPC_inv_pred_gain.lo
  CC       silk/table_LSF_cos.lo
  CC       silk/NLSF2A.lo
  CC       silk/NLSF_stabilize.lo
  CC       silk/NLSF_VQ_weights_laroia.lo
  CC       silk/pitch_est_tables.lo
  CC       silk/resampler.lo
  CC       silk/resampler_down2_3.lo
  CC       silk/resampler_down2.lo
  CC       silk/resampler_private_AR2.lo
  CC       silk/resampler_private_down_FIR.lo
  CC       silk/resampler_private_IIR_FIR.lo
  CC       silk/resampler_private_up2_HQ.lo
  CC       silk/resampler_rom.lo
  CC       silk/sigm_Q15.lo
  CC       silk/sort.lo
  CC       silk/sum_sqr_shift.lo
  CC       silk/stereo_decode_pred.lo
  CC       silk/stereo_encode_pred.lo
  CC       silk/stereo_find_predictor.lo
  CC       silk/stereo_quant_pred.lo
  CC       silk/LPC_fit.lo
  CC       silk/float/apply_sine_window_FLP.lo
  CC       silk/float/corrMatrix_FLP.lo
  CC       silk/float/encode_frame_FLP.lo
  CC       silk/float/find_LPC_FLP.lo
  CC       silk/float/find_LTP_FLP.lo
  CC       silk/float/find_pitch_lags_FLP.lo
  CC       silk/float/find_pred_coefs_FLP.lo
  CC       silk/float/LPC_analysis_filter_FLP.lo
  CC       silk/float/LTP_analysis_filter_FLP.lo
  CC       silk/float/LTP_scale_ctrl_FLP.lo
  CC       silk/float/noise_shape_analysis_FLP.lo
  CC       silk/float/process_gains_FLP.lo
  CC       silk/float/regularize_correlations_FLP.lo
  CC       silk/float/residual_energy_FLP.lo
  CC       silk/float/warped_autocorrelation_FLP.lo
  CC       silk/float/wrappers_FLP.lo
  CC       silk/float/autocorrelation_FLP.lo
  CC       silk/float/burg_modified_FLP.lo
  CC       silk/float/bwexpander_FLP.lo
  CC       silk/float/energy_FLP.lo
  CC       silk/float/inner_product_FLP.lo
  CC       silk/float/k2a_FLP.lo
  CC       silk/float/LPC_inv_pred_gain_FLP.lo
  CC       silk/float/pitch_analysis_core_FLP.lo
  CC       silk/float/scale_copy_vector_FLP.lo
  CC       silk/float/scale_vector_FLP.lo
  CC       silk/float/schur_FLP.lo
  CC       silk/float/sort_FLP.lo
  CC       silk/x86/NSQ_sse4_1.lo
  CC       silk/x86/NSQ_del_dec_sse4_1.lo
  CC       silk/x86/x86_silk_map.lo
  CC       silk/x86/VAD_sse4_1.lo
  CC       silk/x86/VQ_WMat_EC_sse4_1.lo
  CC       src/opus.lo
  CC       src/opus_decoder.lo
  CC       src/opus_encoder.lo
  CC       src/opus_multistream.lo
  CC       src/opus_multistream_encoder.lo
  CC       src/opus_multistream_decoder.lo
  CC       src/repacketizer.lo
  CC       src/opus_projection_encoder.lo
  CC       src/opus_projection_decoder.lo
  CC       src/mapping_matrix.lo
  CC       src/analysis.lo
  CC       src/mlp.lo
  CC       src/mlp_data.lo
  CCLD     libopus.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[7]: Entering directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make[8]: Entering directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc/doc'
 /bin/mkdir -p '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/share/aclocal'
make[9]: Entering directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc/doc'
make[9]: Nothing to be done for 'install-exec-am'.
make[9]: Nothing to be done for 'install-data-am'.
make[9]: Leaving directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc/doc'
make[8]: Leaving directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc/doc'
 /usr/bin/install -c -m 644 opus.m4 '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/share/aclocal'
 /bin/mkdir -p '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig'
 /usr/bin/install -c -m 644 opus.pc '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/pkgconfig'
 /bin/mkdir -p '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/include/opus'
 /usr/bin/install -c -m 644 include/opus.h include/opus_multistream.h include/opus_types.h include/opus_defines.h include/opus_projection.h '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/include/opus'
 /bin/mkdir -p '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib'
 /bin/sh ./libtool   --mode=install /usr/bin/install -c   libopus.la '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib'
libtool: install: /usr/bin/install -c .libs/libopus.lai /opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libopus.la
libtool: install: /usr/bin/install -c .libs/libopus.a /opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libopus.a
libtool: install: chmod 644 /opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libopus.a
libtool: install: ranlib /opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libopus.a
libtool: warning: remember to run 'libtool --finish /ffmpeg/lib'
make[7]: Leaving directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make[6]: Leaving directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make[5]: Leaving directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make[4]: Leaving directory '/opt/tvheadend/build.linux/ffmpeg/opus-1.3-rc'
make[3]: Leaving directory '/opt/tvheadend'
make[2]: *** [/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Error 2
Makefile:838: recipe for target '/opt/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a' failed
make[2]: Leaving directory '/opt/tvheadend'
make[1]: *** [override_dh_auto_build] Error 2
debian/rules:14: recipe for target 'override_dh_auto_build' failed
make[1]: Leaving directory '/opt/tvheadend'
make: *** [build] Error 2
debian/rules:5: recipe for target 'build' failed
dpkg-buildpackage: error: debian/rules build gave error exit status 2

There is no problem on 14.04 and 18.04

History

#1 Updated by Jaroslav Kysela 2 months ago

Opus is fine, the error is somewhere before. Don't use '-j' (parallel) make build to report a compilation issue.

#2 Updated by saen acro 2 months ago

Without -j$(nproc)

doozer-versioned-artifact:/opt/tvheadend/../tvheadend_4.3-1325~ge71dd16_i386.deb:deb:application/x-deb:tvheadend_4.3-1325~ge71dd16_i386.deb
doozer-versioned-artifact:/opt/tvheadend/../tvheadend-dbg_4.3-1325~ge71dd16_i386.deb:deb:application/x-deb:tvheadend-dbg_4.3-1325~ge71dd16_i386.deb
doozer-versioned-artifact:/opt/tvheadend/../tvheadend_4.3-1325~ge71dd16_i386.changes:changes:text/plain:tvheadend_4.3-1325~ge71dd16_i386.changes

real    104m22.692s
user    91m34.588s
sys     2m58.716s

on this
lscpu
Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    2
Core(s) per socket:    1
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 28
Model name:            Intel(R) Atom(TM) CPU D410   @ 1.66GHz
Stepping:              10
CPU MHz:               1666.735
BogoMIPS:              3333.47
L1d cache:             24K
L1i cache:             32K
L2 cache:              512K
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dtherm

on two treads 4 times less time needed

#3 Updated by saen acro 2 months ago

only problem exist when ffmpeg modules compiled
new version when use previously build ffmpeg not affected

p.s.
is there a way to clean ffmpeg folder something as make cleanall
for last tree years size is gigantic

#4 Updated by Jaroslav Kysela 2 months ago

saen acro wrote:

p.s.
is there a way to clean ffmpeg folder something as make cleanall
for last tree years size is gigantic

$ rm -rf build.linux

or

$ make distclean

#5 Updated by saen acro 2 months ago

Jaroslav Kysela wrote:

saen acro wrote:

p.s.
is there a way to clean ffmpeg folder something as make cleanall
for last tree years size is gigantic

$ rm -rf build.linux

or

$ make distclean

distclean is very different then removing folder

[email protected]:/opt/tvheadend# make distclean
rm -rf /opt/tvheadend/build.linux/src /opt/tvheadend/build.linux/bundle* /opt/tvheadend/build.linux/build.o /opt/tvheadend/build.linux/timestamp.* \
       src/tvh_locale_inc.c
find . -name "*~" | xargs rm -f
make -f Makefile.webui clean
make[1]: Entering directory '/opt/tvheadend'
rm -f  src/webui/static/tvh.js.gz src/webui/static/tvh.js.tmp src/webui/static/tvh.js.tmp2  src/webui/static/tvh.css.gz src/webui/static/tvh.css.tmp src/webui/static/tvh.css.tmp2  src/webui/static/tvh-tv.js.gz src/webui/static/tvh-tv.js.tmp src/webui/static/tvh-tv.js.tmp2  src/webui/static/tvh-tv.css.gz src/webui/static/tvh-tv.css.tmp src/webui/static/tvh-tv.css.tmp2 \
              src/webui/extjs-std.c src/webui/extjs-tv-std.c \
              src/webui/extjs-debug.c src/webui/extjs-tv-debug.c
make[1]: Leaving directory '/opt/tvheadend'
rm -rf /opt/tvheadend/build.*
rm -rf /opt/tvheadend/data/dvb-scan
rm -f /opt/tvheadend/.config.mk

#6 Updated by saen acro 2 months ago

but after that

[email protected]:/opt/tvheadend# ./Autobuild.sh
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        debian/.debhelper/

nothing added to commit but untracked files present (use "git add" to track)
dpkg-buildpackage: source package tvheadend
dpkg-buildpackage: source version 4.3-1335~g93bc843
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Andreas Ă–man <[email protected]>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build tvheadend
 debian/rules clean
dh clean --with-systemd
   dh_testdir -O--with-systemd
   dh_clean -O--with-systemd
        rm -f debian/debhelper-build-stamp
        rm -f debian/tvheadend.substvars
        rm -f debian/tvheadend.*.debhelper
        rm -rf debian/tvheadend/
        rm -f debian/tvheadend-dbg.substvars
        rm -f debian/tvheadend-dbg.*.debhelper
        rm -rf debian/tvheadend-dbg/
        cp -an --reflink=auto debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27 debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27.tmp
        mv -Tf debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27.tmp build.linux/ffmpeg/libogg-1.3.3/config.guess
mv: cannot move 'debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27.tmp' to 'build.linux/ffmpeg/libogg-1.3.3/config.guess': No such file or directory
dh_clean: mv -Tf debian/.debhelper/bucket/files/8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27.tmp build.linux/ffmpeg/libogg-1.3.3/config.guess returned exit code 1
debian/rules:5: recipe for target 'clean' failed
make: *** [clean] Error 25
dpkg-buildpackage: error: debian/rules clean gave error exit status 2

#7 Updated by Jaroslav Kysela about 1 month ago

Retest with master.

Also available in: Atom PDF