Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ffmpeg: Several building/ packaging issues. #4

Open
dreirund opened this issue Sep 29, 2022 · 0 comments
Open

ffmpeg: Several building/ packaging issues. #4

dreirund opened this issue Sep 29, 2022 · 0 comments

Comments

@dreirund
Copy link

Ahoj,

I try to build the packages libffmpeg-custom and ffmpeg-custom from the HandsomeMod/packages feed (with fdkaac-patches removed, see issue #3).

There are several issues with this package.

The base configuration I use for the collected reports here is the following:

  • grep -i ffmpeg .config:
    CONFIG_PACKAGE_libffmpeg-audio-dec=m
    CONFIG_PACKAGE_libffmpeg-custom=m
    CONFIG_FFMPEG_CUSTOM_GPL=y
    CONFIG_FFMPEG_CUSTOM_GPLV3=y
    CONFIG_FFMPEG_CUSTOM_NONFREE=y
    CONFIG_FFMPEG_CUSTOM_PATENTED=y
    CONFIG_FFMPEG_CUSTOM_LARGE=y
    CONFIG_FFMPEG_CUSTOM_FFSERVER_SUPPORT=y
    CONFIG_FFMPEG_CUSTOM_MINIDLNA_SUPPORT=y
    CONFIG_FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT=y
    # CONFIG_FFMPEG_CUSTOM_PROGRAMS is not set
    # CONFIG_FFMPEG_CUSTOM_SELECT_libfdk-aac is not set
    CONFIG_FFMPEG_CUSTOM_SELECT_libmp3lame=y
    # CONFIG_FFMPEG_CUSTOM_SELECT_libopus is not set
    CONFIG_FFMPEG_CUSTOM_SELECT_libshine=y
    CONFIG_FFMPEG_CUSTOM_SELECT_libx264=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_ac3=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_jpegls=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_mpeg1video=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_mpeg2video=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_mpeg4=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_pcm_s16be=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_pcm_s16le=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_png=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_vorbis=y
    CONFIG_FFMPEG_CUSTOM_ENCODER_zlib=y
    CONFIG_FFMPEG_CUSTOM_DECODER_aac=y
    CONFIG_FFMPEG_CUSTOM_SELECT_adpcm=y
    CONFIG_FFMPEG_CUSTOM_DECODER_ac3=y
    CONFIG_FFMPEG_CUSTOM_DECODER_alac=y
    CONFIG_FFMPEG_CUSTOM_DECODER_amrnb=y
    CONFIG_FFMPEG_CUSTOM_DECODER_amrwb=y
    CONFIG_FFMPEG_CUSTOM_DECODER_ape=y
    CONFIG_FFMPEG_CUSTOM_DECODER_atrac3=y
    CONFIG_FFMPEG_CUSTOM_DECODER_flac=y
    CONFIG_FFMPEG_CUSTOM_DECODER_gif=y
    CONFIG_FFMPEG_CUSTOM_DECODER_h264=y
    CONFIG_FFMPEG_CUSTOM_DECODER_hevc=y
    CONFIG_FFMPEG_CUSTOM_DECODER_jpegls=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mp2=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mp3=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mpegvideo=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mpeg1video=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mpeg2video=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mpeg4=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mpc7=y
    CONFIG_FFMPEG_CUSTOM_DECODER_mpc8=y
    CONFIG_FFMPEG_CUSTOM_DECODER_opus=y
    CONFIG_FFMPEG_CUSTOM_DECODER_pcm_s16be=y
    CONFIG_FFMPEG_CUSTOM_DECODER_pcm_s16le=y
    CONFIG_FFMPEG_CUSTOM_DECODER_png=y
    CONFIG_FFMPEG_CUSTOM_DECODER_vc1=y
    CONFIG_FFMPEG_CUSTOM_DECODER_vorbis=y
    CONFIG_FFMPEG_CUSTOM_DECODER_wavpack=y
    CONFIG_FFMPEG_CUSTOM_DECODER_wmav1=y
    CONFIG_FFMPEG_CUSTOM_DECODER_wmav2=y
    CONFIG_FFMPEG_CUSTOM_DECODER_zlib=y
    CONFIG_FFMPEG_CUSTOM_MUXER_ac3=y
    CONFIG_FFMPEG_CUSTOM_MUXER_ffm=y
    CONFIG_FFMPEG_CUSTOM_MUXER_h264=y
    CONFIG_FFMPEG_CUSTOM_MUXER_hevc=y
    CONFIG_FFMPEG_CUSTOM_MUXER_mp3=y
    CONFIG_FFMPEG_CUSTOM_MUXER_mp4=y
    CONFIG_FFMPEG_CUSTOM_MUXER_mpeg1video=y
    CONFIG_FFMPEG_CUSTOM_MUXER_mpeg2video=y
    CONFIG_FFMPEG_CUSTOM_MUXER_mpegts=y
    CONFIG_FFMPEG_CUSTOM_MUXER_ogg=y
    CONFIG_FFMPEG_CUSTOM_MUXER_rtp=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_aac=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_avi=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_ac3=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_amr=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_ape=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_flac=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_ffm=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_h264=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_hevc=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_matroska=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_mov=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_mp3=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_mpegvideo=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_mpegps=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_mpegts=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_mpc=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_mpc8=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_ogg=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_rm=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_rtsp=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_sdp=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_rtp=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_vc1=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_wav=y
    CONFIG_FFMPEG_CUSTOM_DEMUXER_wv=y
    CONFIG_FFMPEG_CUSTOM_PARSER_aac=y
    CONFIG_FFMPEG_CUSTOM_PARSER_ac3=y
    CONFIG_FFMPEG_CUSTOM_PARSER_flac=y
    CONFIG_FFMPEG_CUSTOM_PARSER_h264=y
    CONFIG_FFMPEG_CUSTOM_PARSER_hevc=y
    CONFIG_FFMPEG_CUSTOM_PARSER_mpegaudio=y
    CONFIG_FFMPEG_CUSTOM_PARSER_mpegvideo=y
    CONFIG_FFMPEG_CUSTOM_PARSER_mpeg4video=y
    CONFIG_FFMPEG_CUSTOM_PARSER_opus=y
    CONFIG_FFMPEG_CUSTOM_PARSER_vc1=y
    CONFIG_FFMPEG_CUSTOM_PROTOCOL_file=y
    CONFIG_FFMPEG_CUSTOM_PROTOCOL_http=y
    CONFIG_FFMPEG_CUSTOM_PROTOCOL_icecast=y
    CONFIG_FFMPEG_CUSTOM_PROTOCOL_pipe=y
    CONFIG_FFMPEG_CUSTOM_PROTOCOL_rtp=y
    CONFIG_FFMPEG_CUSTOM_PROTOCOL_tcp=y
    CONFIG_FFMPEG_CUSTOM_PROTOCOL_udp=y
    # CONFIG_PACKAGE_libffmpeg-full is not set
    # CONFIG_PACKAGE_libffmpeg-mini is not set
    # CONFIG_PACKAGE_ffmpeg is not set
    # CONFIG_PACKAGE_ffmpeg-custom is not set
    
  • → Full .config.

and that succeeds to build libffmpeg-custom.

Then, for each of the individual reports here, I have also selected the configuration option(s) mentioned in the individual report.

Packaging libffmpeg-audio-dec fails to find file ipkg-install/usr/include/libpostproc.

If I select to build the package libffmpeg-audio-dec (CONFIG_PACKAGE_libffmpeg-audio-dec=m) with above configuration,
make -j1 V=sc package/feeds/packages/ffmpeg/compile
fails with:

[...]
cp -fpR /[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-audio-dec/ffmpeg-4.3.4/ipkg-install/usr/include/libpostproc /[...]/tmp/stage-ffmpeg/usr/include/
cp: cannot stat '/[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-audio-dec/ffmpeg-4.3.4/ipkg-install/usr/include/libpostproc': No such file or directory
make[2]: *** [Makefile:804: /[...]/staging_dir/target-aarch64_cortex-a53+neon_musl/stamp/.ffmpeg.audio-dec_installed] Error 1
make[2]: Leaving directory '/[...]/feeds/packages/multimedia/ffmpeg'
time: package/feeds/packages/ffmpeg/audio-dec/compile#0.59#0.18#0.66
    ERROR: package/feeds/packages/ffmpeg failed to build (build variant: audio-dec).
[...]

While trying to package, it does not find the file build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-audio-dec/ffmpeg-4.3.4/ipkg-install/usr/include/libpostproc.

"Include ffmpeg command-line utilities" (FFMPEG_CUSTOM_PROGRAMS) fails with ffserver binary not found.

The option "Include ffmpeg command-line utilities" (CONFIG_FFMPEG_CUSTOM_PROGRAMS=y) leads to ffmpeg package building fail due to missing ffserver binary:

cp -fpR /[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-custom/ffmpeg-4.3.4/ipkg-install/usr/bin/ffserver /[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-custom/ffmpeg-4.3.4/ipkg-aarch64_cortex-a53_neon/ffserver-custom/usr/bin/
cp: cannot stat '/[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-custom/ffmpeg-4.3.4/ipkg-install/usr/bin/ffserver': No such file or directory
make[2]: *** [Makefile:803: /[...]/bin/packages/aarch64_cortex-a53_neon/packages/ffserver-custom_4.3.4-1_aarch64_cortex-a53_neon.ipk] Error 1
make[2]: Leaving directory '/[...]/feeds/packages/multimedia/ffmpeg'
time: package/feeds/packages/ffmpeg/custom/compile#0.50#0.23#0.63
    ERROR: package/feeds/packages/ffmpeg failed to build (build variant: custom).
make[1]: *** [package/Makefile:116: package/feeds/packages/ffmpeg/compile] Error 1

However, selecting "Include support for ffserver (FFmpeg streaming server)" (CONFIG_FFMPEG_CUSTOM_FFSERVER_SUPPORT=y) does not lead to this error.

Packaging ffmpeg-custom/ ffprobe-custom/ ffserver-custom fails due to missing binaries.

If I select to build the package ffmpeg-custom (CONFIG_PACKAGE_ffmpeg-custom=m) with above configuration,
make -j1 V=sc package/feeds/packages/ffmpeg/compile
fails with:

cp -fpR /[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-custom/ffmpeg-4.3.4/ipkg-install/usr/bin/ffmpeg /[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-custom/ffmpeg-4.3.4/ipkg-aarch64_cortex-a53_neon/ffmpeg-custom/usr/bin/
cp: cannot stat '/[...]/build_dir/target-aarch64_cortex-a53+neon_musl/ffmpeg-custom/ffmpeg-4.3.4/ipkg-install/usr/bin/ffmpeg': No such file or directory
make[2]: *** [Makefile:801: /[...]/bin/packages/aarch64_cortex-a53_neon/packages/ffmpeg-custom_4.3.4-1_aarch64_cortex-a53_neon.ipk] Error 1
make[2]: Leaving directory '/[...]/feeds/packages/multimedia/ffmpeg'
time: package/feeds/packages/ffmpeg/custom/compile#0.53#0.20#0.61
    ERROR: package/feeds/packages/ffmpeg failed to build (build variant: custom).

Similarly for ffprobe-custom (CONFIG_PACKAGE_ffprobe-custom=y) and ffserver-custom (CONFIG_PACKAGE_ffserver-custom=y), where the corresponding binaries ipkg-install/usr/bin/ffprobe anr /ipkg-install/usr/bin/ffserver, respectively, are missing.

ffmpeg-custom misses dependencies on libavfilter.so.7, libpostproc.so.55 and libswresample.so.3.

I once also had while trying to build the package ffmpeg-custom (CONFIG_PACKAGE_ffmpeg-custom=m) with above configuration, that
make -j1 V=sc package/feeds/packages/ffmpeg/compile
failed with:

Package ffmpeg-custom is missing dependencies for the following libraries:
libavfilter.so.7
libpostproc.so.55
libswresample.so.3

This indicates that no package that ffmpeg-custom depends on packages that libraries, nor does ffmpeg-custom package them by itself.

But on subsequent tries I don't get those errors anymore, since I get the errors about the missing ffmpeg binary.

I have done a make ackage/feeds/packages/ffmpeg/clean from time to time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant