diff mbox

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

Message ID 99a0e804-c4e7-78b5-66a6-29e4bed53b88@gmail.com
State Accepted
Commit 4b175913bed8df8c5d4f474d03963a0d99a87b3f
Headers show

Commit Message

James Almer Oct. 12, 2017, 8:36 p.m. UTC
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@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@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 but it just results in the next failure
> 
> make distclean ; ../configure --build-suffix=asterix && make -j12

Does the attached patch fix this for you?
From a684c1b789bfcef6c27f68aa9246e8e11e47c838 Mon Sep 17 00:00:00 2001
From: James Almer <jamrial@gmail.com>
Date: Thu, 12 Oct 2017 17:32:10 -0300
Subject: [PATCH] build: fix builds configured with a suffix

Regression since 6dfcbd80ad446ff163b47f2bf432bbf706436ea8

Signed-off-by: James Almer <jamrial@gmail.com>
---
 ffbuild/common.mak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael Niedermayer Oct. 12, 2017, 9:33 p.m. UTC | #1
On Thu, Oct 12, 2017 at 05:36:17PM -0300, James Almer wrote:
> 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@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@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 but it just results in the next failure
> > 
> > make distclean ; ../configure --build-suffix=asterix && make -j12
> 
> Does the attached patch fix this for you?

yes

next is:
make fate-timefilter

doesnt work anymore

make libavdevice/tests/timefilter
make: *** No rule to make target `libavdevice/tests/timefilter'.  Stop.

i assume this is unintended, its a bit tricky to bisect with the
build system not fully working. Id first have to reduce the testcase
to the subbset that works on all checkouts ...

[...]
Michael Niedermayer Oct. 12, 2017, 9:41 p.m. UTC | #2
On Thu, Oct 12, 2017 at 11:33:45PM +0200, Michael Niedermayer wrote:
> On Thu, Oct 12, 2017 at 05:36:17PM -0300, James Almer wrote:
> > 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@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@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 but it just results in the next failure
> > > 
> > > make distclean ; ../configure --build-suffix=asterix && make -j12
> > 
> > Does the attached patch fix this for you?
> 
> yes
> 
> next is:
> make fate-timefilter
> 
> doesnt work anymore
> 
> make libavdevice/tests/timefilter
> make: *** No rule to make target `libavdevice/tests/timefilter'.  Stop.
> 
> i assume this is unintended, its a bit tricky to bisect with the
> build system not fully working. Id first have to reduce the testcase
> to the subbset that works on all checkouts ...

also video4linux is gone

./configure
config.h:#define CONFIG_V4L2_INDEV 0

and with a branch with all that reverted:
./configure
config.h:#define CONFIG_V4L2_INDEV 1


[...]
James Almer Oct. 12, 2017, 9:45 p.m. UTC | #3
On 10/12/2017 6:41 PM, Michael Niedermayer wrote:
> On Thu, Oct 12, 2017 at 11:33:45PM +0200, Michael Niedermayer wrote:
>> On Thu, Oct 12, 2017 at 05:36:17PM -0300, James Almer wrote:
>>> 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@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@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 but it just results in the next failure
>>>>
>>>> make distclean ; ../configure --build-suffix=asterix && make -j12
>>>
>>> Does the attached patch fix this for you?
>>
>> yes
>>
>> next is:
>> make fate-timefilter
>>
>> doesnt work anymore
>>
>> make libavdevice/tests/timefilter
>> make: *** No rule to make target `libavdevice/tests/timefilter'.  Stop.
>>
>> i assume this is unintended, its a bit tricky to bisect with the
>> build system not fully working. Id first have to reduce the testcase
>> to the subbset that works on all checkouts ...
> 
> also video4linux is gone
> 
> ./configure
> config.h:#define CONFIG_V4L2_INDEV 0
> 
> and with a branch with all that reverted:
> ./configure
> config.h:#define CONFIG_V4L2_INDEV 1

v4l2 is not autodetected. Configure was checking for the wrong name for
this indev. See 734ed38931
The correct behavior is the current one, v4l2_indev disabled unless you
configure with --enable-libv4l2
James Almer Oct. 12, 2017, 9:46 p.m. UTC | #4
On 10/12/2017 6:33 PM, Michael Niedermayer wrote:
> On Thu, Oct 12, 2017 at 05:36:17PM -0300, James Almer wrote:
>> 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@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@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 but it just results in the next failure
>>>
>>> make distclean ; ../configure --build-suffix=asterix && make -j12
>>
>> Does the attached patch fix this for you?
> 
> yes
> 
> next is:
> make fate-timefilter
> 
> doesnt work anymore
> 
> make libavdevice/tests/timefilter
> make: *** No rule to make target `libavdevice/tests/timefilter'.  Stop.
> 
> i assume this is unintended, its a bit tricky to bisect with the
> build system not fully working. Id first have to reduce the testcase
> to the subbset that works on all checkouts ...

This is jack. It's supposedly autodetected and it shouldn't have changed
in behavior.

What's the value for CONFIG_JACK_INDEV?
Carl Eugen Hoyos Oct. 12, 2017, 9:50 p.m. UTC | #5
2017-10-12 23:45 GMT+02:00 James Almer <jamrial@gmail.com>:
> On 10/12/2017 6:41 PM, Michael Niedermayer wrote:

>> also video4linux is gone
>>
>> ./configure
>> config.h:#define CONFIG_V4L2_INDEV 0
>>
>> and with a branch with all that reverted:
>> ./configure
>> config.h:#define CONFIG_V4L2_INDEV 1
>
> v4l2 is not autodetected.

I tested several old versions, for the last 10 years,
v4l2 indev was auto-detected.

From tests with really old versions I know that
video4linux (1) was always auto-detected (or
auto-enabled).

Carl Eugen
Michael Niedermayer Oct. 12, 2017, 10:04 p.m. UTC | #6
On Thu, Oct 12, 2017 at 06:46:08PM -0300, James Almer wrote:
> On 10/12/2017 6:33 PM, Michael Niedermayer wrote:
> > On Thu, Oct 12, 2017 at 05:36:17PM -0300, James Almer wrote:
> >> 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@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@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 but it just results in the next failure
> >>>
> >>> make distclean ; ../configure --build-suffix=asterix && make -j12
> >>
> >> Does the attached patch fix this for you?
> > 
> > yes
> > 
> > next is:
> > make fate-timefilter
> > 
> > doesnt work anymore
> > 
> > make libavdevice/tests/timefilter
> > make: *** No rule to make target `libavdevice/tests/timefilter'.  Stop.
> > 
> > i assume this is unintended, its a bit tricky to bisect with the
> > build system not fully working. Id first have to reduce the testcase
> > to the subbset that works on all checkouts ...
> 
> This is jack. It's supposedly autodetected and it shouldn't have changed
> in behavior.
> 
> What's the value for CONFIG_JACK_INDEV?

#define HAVE_JACK_PORT_GET_LATENCY_RANGE 1
#define CONFIG_JACK 1
#define CONFIG_JACK_INDEV 0

[...]
James Almer Oct. 12, 2017, 10:12 p.m. UTC | #7
On 10/12/2017 6:50 PM, Carl Eugen Hoyos wrote:
> 2017-10-12 23:45 GMT+02:00 James Almer <jamrial@gmail.com>:
>> On 10/12/2017 6:41 PM, Michael Niedermayer wrote:
> 
>>> also video4linux is gone
>>>
>>> ./configure
>>> config.h:#define CONFIG_V4L2_INDEV 0
>>>
>>> and with a branch with all that reverted:
>>> ./configure
>>> config.h:#define CONFIG_V4L2_INDEV 1
>>
>> v4l2 is not autodetected.
> 
> I tested several old versions, for the last 10 years,
> v4l2 indev was auto-detected.
> 
> From tests with really old versions I know that
> video4linux (1) was always auto-detected (or
> auto-enabled).
> 
> Carl Eugen

configure has the line

--enable-libv4l2         enable libv4l2/v4l-utils [no]

And before the commit i mentioned, it had the line

libv4l2_indev_deps="libv4l2"

If you check alldevices.c, there's no indev called "libv4l2_indev", only
one called "v4l2_indev".
Since the latter had no dependency on libv4l2, it was of course always
enabled by default. I changed that in 734ed38931 (see ticket #6729,
where doing that fixed a failure).

So that indev being auto-enabled might have been a mistake all this time.
Carl Eugen Hoyos Oct. 12, 2017, 10:19 p.m. UTC | #8
2017-10-13 0:12 GMT+02:00 James Almer <jamrial@gmail.com>:
> On 10/12/2017 6:50 PM, Carl Eugen Hoyos wrote:
>> 2017-10-12 23:45 GMT+02:00 James Almer <jamrial@gmail.com>:
>>> On 10/12/2017 6:41 PM, Michael Niedermayer wrote:
>>
>>>> also video4linux is gone
>>>>
>>>> ./configure
>>>> config.h:#define CONFIG_V4L2_INDEV 0
>>>>
>>>> and with a branch with all that reverted:
>>>> ./configure
>>>> config.h:#define CONFIG_V4L2_INDEV 1
>>>
>>> v4l2 is not autodetected.
>>
>> I tested several old versions, for the last 10 years,
>> v4l2 indev was auto-detected.
>>
>> From tests with really old versions I know that
>> video4linux (1) was always auto-detected (or
>> auto-enabled).
>>
>> Carl Eugen
>
> configure has the line
>
> --enable-libv4l2         enable libv4l2/v4l-utils [no]
>
> And before the commit i mentioned, it had the line
>
> libv4l2_indev_deps="libv4l2"
>
> If you check alldevices.c, there's no indev called "libv4l2_indev", only
> one called "v4l2_indev".
> Since the latter had no dependency on libv4l2, it was of course always
> enabled by default. I changed that in 734ed38931 (see ticket #6729,
> where doing that fixed a failure).
>
> So that indev being auto-enabled might have been a mistake all this time.

Sorry, what are you talking about?
v4l2 was added in 2006 and auto-detected ever since.
Before 2006, there was already v4l (1) which was
auto-enabled since forever afair.

There is a helper library called libv4l2 that - luckily -
is not auto-detected and shouldn't be.

Carl Eugen
James Almer Oct. 12, 2017, 10:24 p.m. UTC | #9
On 10/12/2017 7:19 PM, Carl Eugen Hoyos wrote:
> 2017-10-13 0:12 GMT+02:00 James Almer <jamrial@gmail.com>:
>> On 10/12/2017 6:50 PM, Carl Eugen Hoyos wrote:
>>> 2017-10-12 23:45 GMT+02:00 James Almer <jamrial@gmail.com>:
>>>> On 10/12/2017 6:41 PM, Michael Niedermayer wrote:
>>>
>>>>> also video4linux is gone
>>>>>
>>>>> ./configure
>>>>> config.h:#define CONFIG_V4L2_INDEV 0
>>>>>
>>>>> and with a branch with all that reverted:
>>>>> ./configure
>>>>> config.h:#define CONFIG_V4L2_INDEV 1
>>>>
>>>> v4l2 is not autodetected.
>>>
>>> I tested several old versions, for the last 10 years,
>>> v4l2 indev was auto-detected.
>>>
>>> From tests with really old versions I know that
>>> video4linux (1) was always auto-detected (or
>>> auto-enabled).
>>>
>>> Carl Eugen
>>
>> configure has the line
>>
>> --enable-libv4l2         enable libv4l2/v4l-utils [no]
>>
>> And before the commit i mentioned, it had the line
>>
>> libv4l2_indev_deps="libv4l2"
>>
>> If you check alldevices.c, there's no indev called "libv4l2_indev", only
>> one called "v4l2_indev".
>> Since the latter had no dependency on libv4l2, it was of course always
>> enabled by default. I changed that in 734ed38931 (see ticket #6729,
>> where doing that fixed a failure).
>>
>> So that indev being auto-enabled might have been a mistake all this time.
> 
> Sorry, what are you talking about?
> v4l2 was added in 2006 and auto-detected ever since.
> Before 2006, there was already v4l (1) which was
> auto-enabled since forever afair.
> 
> There is a helper library called libv4l2 that - luckily -
> is not auto-detected and shouldn't be.

So v4l2_indev should not depend on libv4l2? Any idea why doing that
fixed ticket #6729?

Also, i don't get then why was there a libv4l2_indev listed in configure.

> 
> Carl Eugen
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
Carl Eugen Hoyos Oct. 12, 2017, 10:34 p.m. UTC | #10
2017-10-13 0:24 GMT+02:00 James Almer <jamrial@gmail.com>:
> On 10/12/2017 7:19 PM, Carl Eugen Hoyos wrote:
>> 2017-10-13 0:12 GMT+02:00 James Almer <jamrial@gmail.com>:
>>> On 10/12/2017 6:50 PM, Carl Eugen Hoyos wrote:
>>>> 2017-10-12 23:45 GMT+02:00 James Almer <jamrial@gmail.com>:
>>>>> On 10/12/2017 6:41 PM, Michael Niedermayer wrote:
>>>>
>>>>>> also video4linux is gone
>>>>>>
>>>>>> ./configure
>>>>>> config.h:#define CONFIG_V4L2_INDEV 0
>>>>>>
>>>>>> and with a branch with all that reverted:
>>>>>> ./configure
>>>>>> config.h:#define CONFIG_V4L2_INDEV 1
>>>>>
>>>>> v4l2 is not autodetected.
>>>>
>>>> I tested several old versions, for the last 10 years,
>>>> v4l2 indev was auto-detected.
>>>>
>>>> From tests with really old versions I know that
>>>> video4linux (1) was always auto-detected (or
>>>> auto-enabled).
>>>>
>>>> Carl Eugen
>>>
>>> configure has the line
>>>
>>> --enable-libv4l2         enable libv4l2/v4l-utils [no]
>>>
>>> And before the commit i mentioned, it had the line
>>>
>>> libv4l2_indev_deps="libv4l2"
>>>
>>> If you check alldevices.c, there's no indev called "libv4l2_indev", only
>>> one called "v4l2_indev".
>>> Since the latter had no dependency on libv4l2, it was of course always
>>> enabled by default. I changed that in 734ed38931 (see ticket #6729,
>>> where doing that fixed a failure).
>>>
>>> So that indev being auto-enabled might have been a mistake all this time.
>>
>> Sorry, what are you talking about?
>> v4l2 was added in 2006 and auto-detected ever since.
>> Before 2006, there was already v4l (1) which was
>> auto-enabled since forever afair.
>>
>> There is a helper library called libv4l2 that - luckily -
>> is not auto-detected and shouldn't be.
>
> So v4l2_indev should not depend on libv4l2?

No, definitely not.

> Any idea why doing that fixed ticket #6729?

Iiuc, it disabled v4l2 so all related build errors
were fixed.

Since I am so slow, could you explain what issues
were fixed by 6dfcbd80?

Thank you, Carl Eugen
diff mbox

Patch

diff --git a/ffbuild/common.mak b/ffbuild/common.mak
index a6b23e029f..63a3c2f2d0 100644
--- a/ffbuild/common.mak
+++ b/ffbuild/common.mak
@@ -119,7 +119,7 @@  FFLIBS    := $($(NAME)_FFLIBS) $(FFLIBS-yes) $(FFLIBS)
 TESTPROGS += $(TESTPROGS-yes)
 
 LDLIBS       = $(FFLIBS:%=%$(BUILDSUF))
-FFEXTRALIBS := $(FFLIBS:%=$(LD_LIB)) $(foreach lib,EXTRALIBS-$(NAME) $(FFLIBS:%=EXTRALIBS-%),$($(lib))) $(EXTRALIBS)
+FFEXTRALIBS := $(LDLIBS:%=$(LD_LIB)) $(foreach lib,EXTRALIBS-$(NAME) $(FFLIBS:%=EXTRALIBS-%),$($(lib))) $(EXTRALIBS)
 
 OBJS      := $(sort $(OBJS:%=$(SUBDIR)%))
 SLIBOBJS  := $(sort $(SLIBOBJS:%=$(SUBDIR)%))