[FFmpeg-devel] [FFmpeg-cvslog] Merge commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63'

James Almer jamrial at gmail.com
Thu Oct 12 22:42:19 EEST 2017


On 10/12/2017 4:25 PM, Michael Niedermayer wrote:
> On Thu, Oct 12, 2017 at 02:25:46PM -0300, James Almer wrote:
>> On 10/12/2017 1:56 PM, Michael Niedermayer wrote:
>>> On Wed, Oct 11, 2017 at 10:30:13PM -0300, James Almer wrote:
>>>> On 10/11/2017 9:22 PM, Michael Niedermayer wrote:
>>>>> On Wed, Oct 11, 2017 at 09:26:18PM +0000, James Almer wrote:
>>>>>> ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Oct 11 17:55:25 2017 -0300| [6dfcbd80ad446ff163b47f2bf432bbf706436ea8] | committer: James Almer
>>>>>>
>>>>>> Merge commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63'
>>>>>>
>>>>>> * commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63':
>>>>>>   build: Fine-grained link-time dependency settings
>>>>>>
>>>>>> Also included are bug fix commits 5ff3b5cafcc685b6936d16602b0f80aa09a95870,
>>>>>> d9da7151eef7fc469787e7298196cea291acfd82 and
>>>>>> 5e27ef800bfa2be17a6353ddedac6b7400e4624f.
>>>>>>
>>>>>> Merged-by: James Almer <jamrial at gmail.com>
>>>>>>
>>>>>>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6dfcbd80ad446ff163b47f2bf432bbf706436ea8
>>>>>> ---
>>>>>>
>>>>>>  Makefile                |   3 +-
>>>>>>  configure               | 297 +++++++++++++++++++++++++++++-------------------
>>>>>>  ffbuild/common.mak      |   2 +-
>>>>>>  ffbuild/library.mak     |   2 +-
>>>>>>  tests/checkasm/Makefile |   2 +-
>>>>>>  5 files changed, 187 insertions(+), 119 deletions(-)
>>>>>
>>>>> This breaks build here (linux x86-64)
>>>>>
>>>>> ./configure --enable-libxavs --enable-gpl
>>>>> ERROR: libxavs not found
>>>>>
>>>>> Iam trying to test most patches for FFmpeg before they are pushed, but
>>>>> i can only test what is posted for review on ffmpeg-devel ...
>>>>
>>>> Testing locally i see it's complaining about missing pthreads and libm
>>>> ldflag, since they of course are not part of the global extralibs anymore.
>>>> Switching detection to pkg-config would be ideal, but for some reason
>>>> even the supplied .pc file doesn't include the -lm ldflag, only the
>>>> pthreads one, and libxavs looks like it hasn't been updated for six
>>>> years now (at least the one in sourceforge), so it's unlikely to be
>>>> fixed on their end.
>>>>
>>>> Can you test the attached patch?
>>>
>>> seems to fix it
>>
>> Pushed then. Thanks.
>>
>>> but i get a build failure with fontconfig now:
>>>
>>> ../configure  --enable-fontconfig  && make -j12
>>>
>>> LD      ffmpeg_g
>>> libavfilter/libavfilter.a(avf_showcqt.o): In function `render_fontconfig':
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:606: undefined reference to `FcInitLoadConfigAndFonts'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:611: undefined reference to `FcNameParse'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:617: undefined reference to `FcDefaultSubstitute'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:619: undefined reference to `FcConfigSubstitute'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:626: undefined reference to `FcFontMatch'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:627: undefined reference to `FcPatternDestroy'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:643: undefined reference to `FcPatternDestroy'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:644: undefined reference to `FcConfigDestroy'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:621: undefined reference to `FcPatternDestroy'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:622: undefined reference to `FcConfigDestroy'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:635: undefined reference to `FcPatternGetString'
>>> ffmpeg/nasm/src/libavfilter/avf_showcqt.c:613: undefined reference to `FcConfigDestroy'
>>> collect2: error: ld returned 1 exit status
>>> make: *** [ffmpeg_g] Error 1
>>
>> That'd be because showcqt is missing its fontconfig and freetype deps in
>> configure, a mistake that was hidden by extralibs being global before
>> this merge.
>>
>> Does the attached patch fix it?
> 
> it seems so

Will apply then. Thanks.

> but it just results in the next failure
> 
> make distclean ; ../configure --build-suffix=asterix && make -j12

This is not "the next failure" result of fixing showcqt. You're using a
completely different command line where showcqt would have shown no
issues even without the above fix.

> LD      ffmpeg_g
> fftools/ffmpeg_opt.o: In function `new_output_stream':
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:1334: undefined reference to `avcodec_parameters_alloc'

Apparently buildsuf breaks dependencies somewhere by changing the
library names. At least here on mingw-64 i instead get

"ld.exe: cannot find -lav*" for every library, instead of undefined
references.

I'll take a look, but could nonetheless use some help.

> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:1421: undefined reference to `av_bsf_get_by_name'
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:1433: undefined reference to `av_bsf_alloc'
> fftools/ffmpeg_opt.o: In function `opt_init_hw_device':
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:513: undefined reference to `av_hwdevice_get_type_name'
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:511: undefined reference to `av_hwdevice_iterate_types'
> fftools/ffmpeg_opt.o: In function `new_output_stream':
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:1334: undefined reference to `avcodec_parameters_alloc'
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:1421: undefined reference to `av_bsf_get_by_name'
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:1433: undefined reference to `av_bsf_alloc'
> fftools/ffmpeg_opt.o: In function `add_input_streams':
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:784: undefined reference to `avcodec_parameters_to_context'
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:896: undefined reference to `avcodec_parameters_from_context'
> fftools/ffmpeg_opt.o: In function `open_output_file':
> ffmpeg/linux32/src/fftools/ffmpeg_opt.c:2686: undefined reference to `av_program_add_stream_index'
> fftools/cmdutils.o: In function `show_bsfs':
> ffmpeg/linux32/src/fftools/cmdutils.c:1605: undefined reference to `av_bsf_next'
> fftools/ffmpeg.o: In function `ifilter_send_eof':
> ffmpeg/linux32/src/fftools/ffmpeg.c:2233: undefined reference to `av_buffersrc_close'
> fftools/ffmpeg.o: In function `output_packet':
> ffmpeg/linux32/src/fftools/ffmpeg.c:837: undefined reference to `av_bsf_send_packet'
> ffmpeg/linux32/src/fftools/ffmpeg.c:845: undefined reference to `av_bsf_receive_packet'
> ffmpeg/linux32/src/fftools/ffmpeg.c:857: undefined reference to `av_bsf_send_packet'
> fftools/ffmpeg.o: In function `do_video_out':
> ffmpeg/linux32/src/fftools/ffmpeg.c:1288: undefined reference to `avcodec_send_frame'
> ffmpeg/linux32/src/fftools/ffmpeg.c:1293: undefined reference to `avcodec_receive_packet'
> fftools/ffmpeg.o: In function `init_output_bsfs':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3018: undefined reference to `avcodec_parameters_copy'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3025: undefined reference to `av_bsf_init'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3018: undefined reference to `avcodec_parameters_copy'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3025: undefined reference to `av_bsf_init'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3034: undefined reference to `avcodec_parameters_copy'
> fftools/ffmpeg.o: In function `init_output_stream':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3467: undefined reference to `av_buffersink_get_hw_frames_ctx'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3468: undefined reference to `av_buffersink_get_hw_frames_ctx'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3469: undefined reference to `av_buffersink_get_format'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3501: undefined reference to `avcodec_parameters_from_context'
> fftools/ffmpeg.o: In function `init_output_stream_streamcopy':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3055: undefined reference to `avcodec_parameters_to_context'
> fftools/ffmpeg.o: In function `init_output_stream_encode':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3362: undefined reference to `av_buffersink_get_time_base'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3373: undefined reference to `av_buffersink_get_w'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3374: undefined reference to `av_buffersink_get_h'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3380: undefined reference to `av_buffersink_get_format'
> fftools/ffmpeg.o: In function `init_output_stream':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3521: undefined reference to `av_stream_new_side_data'
> fftools/ffmpeg.o: In function `init_output_stream_streamcopy':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3063: undefined reference to `avcodec_parameters_from_context'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3073: undefined reference to `avcodec_parameters_copy'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3083: undefined reference to `avformat_transfer_internal_stream_timing_info'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3103: undefined reference to `av_stream_new_side_data'
> fftools/ffmpeg.o: In function `init_output_stream':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3566: undefined reference to `avcodec_parameters_to_context'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3539: undefined reference to `av_stream_new_side_data'
> fftools/ffmpeg.o: In function `init_output_stream_encode':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3347: undefined reference to `av_buffersink_get_format'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3351: undefined reference to `av_buffersink_get_sample_rate'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3352: undefined reference to `av_buffersink_get_channel_layout'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3353: undefined reference to `av_buffersink_get_channels'
> fftools/ffmpeg.o: In function `init_output_stream_streamcopy':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3089: undefined reference to `av_stream_get_codec_timebase'
> ffmpeg/linux32/src/fftools/ffmpeg.c:3111: undefined reference to `av_stream_new_side_data'
> fftools/ffmpeg.o: In function `init_output_stream_encode':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3377: undefined reference to `av_buffersink_get_sample_aspect_ratio'
> fftools/ffmpeg.o: In function `init_output_stream':
> ffmpeg/linux32/src/fftools/ffmpeg.c:3470: undefined reference to `av_buffersink_get_hw_frames_ctx'
> fftools/ffmpeg.o: In function `reap_filters':
> ffmpeg/linux32/src/fftools/ffmpeg.c:1475: undefined reference to `av_buffersink_get_time_base'
> ffmpeg/linux32/src/fftools/ffmpeg.c:1494: undefined reference to `av_buffersink_get_type'
> fftools/ffmpeg.o: In function `do_audio_out':
> ffmpeg/linux32/src/fftools/ffmpeg.c:921: undefined reference to `avcodec_send_frame'
> ffmpeg/linux32/src/fftools/ffmpeg.c:926: undefined reference to `avcodec_receive_packet'
> fftools/ffmpeg.o: In function `reap_filters':
> ffmpeg/linux32/src/fftools/ffmpeg.c:1464: undefined reference to `av_buffersink_get_type'
> fftools/ffmpeg.o: In function `decode':
> ffmpeg/linux32/src/fftools/ffmpeg.c:2265: undefined reference to `avcodec_send_packet'
> ffmpeg/linux32/src/fftools/ffmpeg.c:2272: undefined reference to `avcodec_receive_frame'
> ffmpeg/linux32/src/fftools/ffmpeg.c:2265: undefined reference to `avcodec_send_packet'
> ffmpeg/linux32/src/fftools/ffmpeg.c:2272: undefined reference to `avcodec_receive_frame'
> fftools/ffmpeg.o: In function `ffmpeg_cleanup':
> ffmpeg/linux32/src/fftools/ffmpeg.c:537: undefined reference to `av_bsf_free'
> ffmpeg/linux32/src/fftools/ffmpeg.c:558: undefined reference to `avcodec_parameters_free'
> fftools/ffmpeg.o: In function `flush_encoders':
> ffmpeg/linux32/src/fftools/ffmpeg.c:1931: undefined reference to `avcodec_send_frame'
> ffmpeg/linux32/src/fftools/ffmpeg.c:1930: undefined reference to `avcodec_receive_packet'
> fftools/ffmpeg.o: In function `output_packet':
> ffmpeg/linux32/src/fftools/ffmpeg.c:837: undefined reference to `av_bsf_send_packet'
> ffmpeg/linux32/src/fftools/ffmpeg.c:857: undefined reference to `av_bsf_send_packet'
> ffmpeg/linux32/src/fftools/ffmpeg.c:845: undefined reference to `av_bsf_receive_packet'
> fftools/ffmpeg_filter.o: In function `configure_input_video_filter':
> ffmpeg/linux32/src/fftools/ffmpeg_filter.c:751: undefined reference to `av_buffersrc_parameters_alloc'
> ffmpeg/linux32/src/fftools/ffmpeg_filter.c:793: undefined reference to `av_buffersrc_parameters_set'
> fftools/ffmpeg_filter.o: In function `configure_filtergraph':
> ffmpeg/linux32/src/fftools/ffmpeg_filter.c:1108: undefined reference to `av_buffersink_get_format'
> ffmpeg/linux32/src/fftools/ffmpeg_filter.c:1110: undefined reference to `av_buffersink_get_w'
> ffmpeg/linux32/src/fftools/ffmpeg_filter.c:1111: undefined reference to `av_buffersink_get_h'
> ffmpeg/linux32/src/fftools/ffmpeg_filter.c:1113: undefined reference to `av_buffersink_get_sample_rate'
> ffmpeg/linux32/src/fftools/ffmpeg_filter.c:1114: undefined reference to `av_buffersink_get_channel_layout'
> fftools/ffmpeg_hw.o: In function `hwaccel_retrieve_data':
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:354: undefined reference to `av_hwframe_transfer_data'
> fftools/ffmpeg_hw.o: In function `hw_device_init_from_string':
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:93: undefined reference to `av_hwdevice_find_type_by_name'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:175: undefined reference to `av_hwdevice_ctx_create_derived'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:139: undefined reference to `av_hwdevice_ctx_create'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:161: undefined reference to `av_hwdevice_ctx_create'
> fftools/ffmpeg_hw.o: In function `hw_device_match_type_in_name':
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:245: undefined reference to `av_hwdevice_iterate_types'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:247: undefined reference to `av_hwdevice_iterate_types'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:248: undefined reference to `av_hwdevice_get_type_name'
> fftools/ffmpeg_hw.o: In function `hw_device_setup_for_decode':
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:289: undefined reference to `av_hwdevice_get_type_name'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:299: undefined reference to `av_hwdevice_get_type_name'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:272: undefined reference to `av_hwdevice_get_type_name'
> fftools/ffmpeg_hw.o: In function `hw_device_match_type_in_name':
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:245: undefined reference to `av_hwdevice_iterate_types'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:247: undefined reference to `av_hwdevice_iterate_types'
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:248: undefined reference to `av_hwdevice_get_type_name'
> fftools/ffmpeg_hw.o: In function `hw_device_setup_for_encode':
> ffmpeg/linux32/src/fftools/ffmpeg_hw.c:321: undefined reference to `av_hwdevice_get_type_name'
> fftools/ffmpeg_cuvid.o: In function `cuvid_init':
> ffmpeg/linux32/src/fftools/ffmpeg_cuvid.c:48: undefined reference to `av_hwframe_ctx_alloc'
> ffmpeg/linux32/src/fftools/ffmpeg_cuvid.c:64: undefined reference to `av_hwframe_ctx_init'
> ffmpeg/linux32/src/fftools/ffmpeg_cuvid.c:39: undefined reference to `av_hwdevice_ctx_create'
> collect2: error: ld returned 1 exit status
> make: *** [ffmpeg_g] Error 1
> 
> 
> [...]
> 
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
n


More information about the ffmpeg-devel mailing list