diff mbox

[FFmpeg-devel] configure: require pkg-config for libvorbis

Message ID 20170624124717.8424-1-wiiaboo@gmail.com
State Superseded
Headers show

Commit Message

Ricardo Constantino June 24, 2017, 12:47 p.m. UTC
libvorbis comes with pkg-config files since at least v1.0.1, way back
in 2003.
---
The previous patches weren't parsed by patchwork, and it makes less
sense to have a fallback for libvorbis since the .pc file is available
since 2003.

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ricardo Constantino June 28, 2017, 12:04 p.m. UTC | #1
On 24 June 2017 at 13:47, Ricardo Constantino <wiiaboo@gmail.com> wrote:
> libvorbis comes with pkg-config files since at least v1.0.1, way back
> in 2003.
> ---
> The previous patches weren't parsed by patchwork, and it makes less
> sense to have a fallback for libvorbis since the .pc file is available
> since 2003.
>
>  configure | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 6da5e79b3d..e27640663d 100755
> --- a/configure
> +++ b/configure
> @@ -5885,7 +5885,7 @@ enabled libtwolame        && require libtwolame twolame.h twolame_init -ltwolame
>  enabled libv4l2           && require_pkg_config libv4l2 libv4l2.h v4l2_ioctl
>  enabled libvidstab        && require_pkg_config "vidstab >= 0.98" vid.stab/libvidstab.h vsMotionDetectInit
>  enabled libvo_amrwbenc    && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc
> -enabled libvorbis         && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
> +enabled libvorbis         && require_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
>
>  enabled libvpx            && {
>      enabled libvpx_vp8_decoder && {
> --
> 2.13.0
>

Ping.
Paul B Mahol June 28, 2017, 12:36 p.m. UTC | #2
On 6/28/17, Ricardo Constantino <wiiaboo@gmail.com> wrote:
> On 24 June 2017 at 13:47, Ricardo Constantino <wiiaboo@gmail.com> wrote:
>> libvorbis comes with pkg-config files since at least v1.0.1, way back
>> in 2003.
>> ---
>> The previous patches weren't parsed by patchwork, and it makes less
>> sense to have a fallback for libvorbis since the .pc file is available
>> since 2003.
>>
>>  configure | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/configure b/configure
>> index 6da5e79b3d..e27640663d 100755
>> --- a/configure
>> +++ b/configure
>> @@ -5885,7 +5885,7 @@ enabled libtwolame        && require libtwolame
>> twolame.h twolame_init -ltwolame
>>  enabled libv4l2           && require_pkg_config libv4l2 libv4l2.h
>> v4l2_ioctl
>>  enabled libvidstab        && require_pkg_config "vidstab >= 0.98"
>> vid.stab/libvidstab.h vsMotionDetectInit
>>  enabled libvo_amrwbenc    && require libvo_amrwbenc vo-amrwbenc/enc_if.h
>> E_IF_init -lvo-amrwbenc
>> -enabled libvorbis         && require libvorbis vorbis/vorbisenc.h
>> vorbis_info_init -lvorbisenc -lvorbis -logg
>> +enabled libvorbis         && require_pkg_config vorbisenc
>> vorbis/vorbisenc.h vorbis_info_init
>>
>>  enabled libvpx            && {
>>      enabled libvpx_vp8_decoder && {
>> --
>> 2.13.0
>>
>
> Ping.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

lgtm
Paul B Mahol June 30, 2017, 3:55 p.m. UTC | #3
On 6/28/17, Paul B Mahol <onemda@gmail.com> wrote:
> On 6/28/17, Ricardo Constantino <wiiaboo@gmail.com> wrote:
>> On 24 June 2017 at 13:47, Ricardo Constantino <wiiaboo@gmail.com> wrote:
>>> libvorbis comes with pkg-config files since at least v1.0.1, way back
>>> in 2003.
>>> ---
>>> The previous patches weren't parsed by patchwork, and it makes less
>>> sense to have a fallback for libvorbis since the .pc file is available
>>> since 2003.
>>>
>>>  configure | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/configure b/configure
>>> index 6da5e79b3d..e27640663d 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -5885,7 +5885,7 @@ enabled libtwolame        && require libtwolame
>>> twolame.h twolame_init -ltwolame
>>>  enabled libv4l2           && require_pkg_config libv4l2 libv4l2.h
>>> v4l2_ioctl
>>>  enabled libvidstab        && require_pkg_config "vidstab >= 0.98"
>>> vid.stab/libvidstab.h vsMotionDetectInit
>>>  enabled libvo_amrwbenc    && require libvo_amrwbenc
>>> vo-amrwbenc/enc_if.h
>>> E_IF_init -lvo-amrwbenc
>>> -enabled libvorbis         && require libvorbis vorbis/vorbisenc.h
>>> vorbis_info_init -lvorbisenc -lvorbis -logg
>>> +enabled libvorbis         && require_pkg_config vorbisenc
>>> vorbis/vorbisenc.h vorbis_info_init
>>>
>>>  enabled libvpx            && {
>>>      enabled libvpx_vp8_decoder && {
>>> --
>>> 2.13.0
>>>
>>
>> Ping.
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>
> lgtm
>

For some reason it breaks here:

ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -std=c11
-fomit-frame-pointer -fPIC -pthread -I/usr/local/include
-I/usr/include/harfbuzz -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/bs2b
-I/usr/include/freetype2 -I/usr/include/freetype2
-I/usr/local/include/opus -I/usr/local/include/opus -L/usr/local/lib
-c -o /tmp/ffconf.skhCLmIS/test.o /tmp/ffconf.skhCLmIS/test.c
ccache gcc -Wl,--as-needed -Wl,-z,noexecstack
-I/usr/local/include/opus -L/usr/local/lib -o
/tmp/ffconf.skhCLmIS/test /tmp/ffconf.skhCLmIS/test.o -lopus
-L/usr/local/lib -lopus -lmysofa -lmp3lame -lilbc -lfreetype
-lfontconfig -lfreetype -lbs2b -L/usr/local/lib -lass -lm -lbz2 -lz
-pthread -pthread
use_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
check_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
pkg-config --exists --print-errors vorbisenc
check_func_headers vorbis/vorbisenc.h vorbis_info_init -lvorbisenc
check_ld cc -lvorbisenc
check_cc
BEGIN /tmp/ffconf.skhCLmIS/test.c
1   #include <vorbis/vorbisenc.h>
2   #include <stdint.h>
3   long check_vorbis_info_init(void) { return (long) vorbis_info_init; }
4   int main(void) { int ret = 0;
5    ret |= ((intptr_t)check_vorbis_info_init) & 0xFFFF;
6   return ret; }
END /tmp/ffconf.skhCLmIS/test.c
ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -std=c11
-fomit-frame-pointer -fPIC -pthread -I/usr/local/include
-I/usr/include/harfbuzz -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
-I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/bs2b
-I/usr/include/freetype2 -I/usr/include/freetype2
-I/usr/local/include/opus -I/usr/local/include/opus -c -o
/tmp/ffconf.skhCLmIS/test.o /tmp/ffconf.skhCLmIS/test.c
ccache gcc -Wl,--as-needed -Wl,-z,noexecstack -o
/tmp/ffconf.skhCLmIS/test /tmp/ffconf.skhCLmIS/test.o -lvorbisenc
-L/usr/local/lib -lopus -L/usr/local/lib -lopus -lmysofa -lmp3lame
-lilbc -lfreetype -lfontconfig -lfreetype -lbs2b -L/usr/local/lib
-lass -lm -lbz2 -lz -pthread -pthread
/tmp/ffconf.skhCLmIS/test.o: In function `check_vorbis_info_init':
test.c:(.text+0x3): undefined reference to `vorbis_info_init'
collect2: error: ld returned 1 exit status
ERROR: vorbisenc not found using pkg-config

Probably because of ccache.
Ricardo Constantino June 30, 2017, 4:05 p.m. UTC | #4
On 30 June 2017 at 16:55, Paul B Mahol <onemda@gmail.com> wrote:
> On 6/28/17, Paul B Mahol <onemda@gmail.com> wrote:
>> On 6/28/17, Ricardo Constantino <wiiaboo@gmail.com> wrote:
>>> On 24 June 2017 at 13:47, Ricardo Constantino <wiiaboo@gmail.com> wrote:
>>>> libvorbis comes with pkg-config files since at least v1.0.1, way back
>>>> in 2003.
>>>> ---
>>>> The previous patches weren't parsed by patchwork, and it makes less
>>>> sense to have a fallback for libvorbis since the .pc file is available
>>>> since 2003.
>>>>
>>>>  configure | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/configure b/configure
>>>> index 6da5e79b3d..e27640663d 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -5885,7 +5885,7 @@ enabled libtwolame        && require libtwolame
>>>> twolame.h twolame_init -ltwolame
>>>>  enabled libv4l2           && require_pkg_config libv4l2 libv4l2.h
>>>> v4l2_ioctl
>>>>  enabled libvidstab        && require_pkg_config "vidstab >= 0.98"
>>>> vid.stab/libvidstab.h vsMotionDetectInit
>>>>  enabled libvo_amrwbenc    && require libvo_amrwbenc
>>>> vo-amrwbenc/enc_if.h
>>>> E_IF_init -lvo-amrwbenc
>>>> -enabled libvorbis         && require libvorbis vorbis/vorbisenc.h
>>>> vorbis_info_init -lvorbisenc -lvorbis -logg
>>>> +enabled libvorbis         && require_pkg_config vorbisenc
>>>> vorbis/vorbisenc.h vorbis_info_init
>>>>
>>>>  enabled libvpx            && {
>>>>      enabled libvpx_vp8_decoder && {
>>>> --
>>>> 2.13.0
>>>>
>>>
>>> Ping.
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel@ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>
>>
>> lgtm
>>
>
> For some reason it breaks here:
>
> ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -std=c11
> -fomit-frame-pointer -fPIC -pthread -I/usr/local/include
> -I/usr/include/harfbuzz -I/usr/include/glib-2.0
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
> -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/bs2b
> -I/usr/include/freetype2 -I/usr/include/freetype2
> -I/usr/local/include/opus -I/usr/local/include/opus -L/usr/local/lib
> -c -o /tmp/ffconf.skhCLmIS/test.o /tmp/ffconf.skhCLmIS/test.c
> ccache gcc -Wl,--as-needed -Wl,-z,noexecstack
> -I/usr/local/include/opus -L/usr/local/lib -o
> /tmp/ffconf.skhCLmIS/test /tmp/ffconf.skhCLmIS/test.o -lopus
> -L/usr/local/lib -lopus -lmysofa -lmp3lame -lilbc -lfreetype
> -lfontconfig -lfreetype -lbs2b -L/usr/local/lib -lass -lm -lbz2 -lz
> -pthread -pthread
> use_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
> check_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
> pkg-config --exists --print-errors vorbisenc
> check_func_headers vorbis/vorbisenc.h vorbis_info_init -lvorbisenc
> check_ld cc -lvorbisenc
> check_cc
> BEGIN /tmp/ffconf.skhCLmIS/test.c
> 1   #include <vorbis/vorbisenc.h>
> 2   #include <stdint.h>
> 3   long check_vorbis_info_init(void) { return (long) vorbis_info_init; }
> 4   int main(void) { int ret = 0;
> 5    ret |= ((intptr_t)check_vorbis_info_init) & 0xFFFF;
> 6   return ret; }
> END /tmp/ffconf.skhCLmIS/test.c
> ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -std=c11
> -fomit-frame-pointer -fPIC -pthread -I/usr/local/include
> -I/usr/include/harfbuzz -I/usr/include/glib-2.0
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
> -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/bs2b
> -I/usr/include/freetype2 -I/usr/include/freetype2
> -I/usr/local/include/opus -I/usr/local/include/opus -c -o
> /tmp/ffconf.skhCLmIS/test.o /tmp/ffconf.skhCLmIS/test.c
> ccache gcc -Wl,--as-needed -Wl,-z,noexecstack -o
> /tmp/ffconf.skhCLmIS/test /tmp/ffconf.skhCLmIS/test.o -lvorbisenc
> -L/usr/local/lib -lopus -L/usr/local/lib -lopus -lmysofa -lmp3lame
> -lilbc -lfreetype -lfontconfig -lfreetype -lbs2b -L/usr/local/lib
> -lass -lm -lbz2 -lz -pthread -pthread
> /tmp/ffconf.skhCLmIS/test.o: In function `check_vorbis_info_init':
> test.c:(.text+0x3): undefined reference to `vorbis_info_init'
> collect2: error: ld returned 1 exit status
> ERROR: vorbisenc not found using pkg-config
>
> Probably because of ccache.

vorbisenc only includes -lvorbis if --static is used in pkg-config.
Maybe vorbis.pc should also be included, since I see
libavcodec/libvorbis(enc|dec).c using those too.
Paul B Mahol June 30, 2017, 4:18 p.m. UTC | #5
On 6/30/17, Ricardo Constantino <wiiaboo@gmail.com> wrote:
> On 30 June 2017 at 16:55, Paul B Mahol <onemda@gmail.com> wrote:
>> On 6/28/17, Paul B Mahol <onemda@gmail.com> wrote:
>>> On 6/28/17, Ricardo Constantino <wiiaboo@gmail.com> wrote:
>>>> On 24 June 2017 at 13:47, Ricardo Constantino <wiiaboo@gmail.com> wrote:
>>>>> libvorbis comes with pkg-config files since at least v1.0.1, way back
>>>>> in 2003.
>>>>> ---
>>>>> The previous patches weren't parsed by patchwork, and it makes less
>>>>> sense to have a fallback for libvorbis since the .pc file is available
>>>>> since 2003.
>>>>>
>>>>>  configure | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/configure b/configure
>>>>> index 6da5e79b3d..e27640663d 100755
>>>>> --- a/configure
>>>>> +++ b/configure
>>>>> @@ -5885,7 +5885,7 @@ enabled libtwolame        && require libtwolame
>>>>> twolame.h twolame_init -ltwolame
>>>>>  enabled libv4l2           && require_pkg_config libv4l2 libv4l2.h
>>>>> v4l2_ioctl
>>>>>  enabled libvidstab        && require_pkg_config "vidstab >= 0.98"
>>>>> vid.stab/libvidstab.h vsMotionDetectInit
>>>>>  enabled libvo_amrwbenc    && require libvo_amrwbenc
>>>>> vo-amrwbenc/enc_if.h
>>>>> E_IF_init -lvo-amrwbenc
>>>>> -enabled libvorbis         && require libvorbis vorbis/vorbisenc.h
>>>>> vorbis_info_init -lvorbisenc -lvorbis -logg
>>>>> +enabled libvorbis         && require_pkg_config vorbisenc
>>>>> vorbis/vorbisenc.h vorbis_info_init
>>>>>
>>>>>  enabled libvpx            && {
>>>>>      enabled libvpx_vp8_decoder && {
>>>>> --
>>>>> 2.13.0
>>>>>
>>>>
>>>> Ping.
>>>> _______________________________________________
>>>> ffmpeg-devel mailing list
>>>> ffmpeg-devel@ffmpeg.org
>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>>
>>>
>>> lgtm
>>>
>>
>> For some reason it breaks here:
>>
>> ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>> -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -std=c11
>> -fomit-frame-pointer -fPIC -pthread -I/usr/local/include
>> -I/usr/include/harfbuzz -I/usr/include/glib-2.0
>> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
>> -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/bs2b
>> -I/usr/include/freetype2 -I/usr/include/freetype2
>> -I/usr/local/include/opus -I/usr/local/include/opus -L/usr/local/lib
>> -c -o /tmp/ffconf.skhCLmIS/test.o /tmp/ffconf.skhCLmIS/test.c
>> ccache gcc -Wl,--as-needed -Wl,-z,noexecstack
>> -I/usr/local/include/opus -L/usr/local/lib -o
>> /tmp/ffconf.skhCLmIS/test /tmp/ffconf.skhCLmIS/test.o -lopus
>> -L/usr/local/lib -lopus -lmysofa -lmp3lame -lilbc -lfreetype
>> -lfontconfig -lfreetype -lbs2b -L/usr/local/lib -lass -lm -lbz2 -lz
>> -pthread -pthread
>> use_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
>> check_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
>> pkg-config --exists --print-errors vorbisenc
>> check_func_headers vorbis/vorbisenc.h vorbis_info_init -lvorbisenc
>> check_ld cc -lvorbisenc
>> check_cc
>> BEGIN /tmp/ffconf.skhCLmIS/test.c
>> 1   #include <vorbis/vorbisenc.h>
>> 2   #include <stdint.h>
>> 3   long check_vorbis_info_init(void) { return (long) vorbis_info_init; }
>> 4   int main(void) { int ret = 0;
>> 5    ret |= ((intptr_t)check_vorbis_info_init) & 0xFFFF;
>> 6   return ret; }
>> END /tmp/ffconf.skhCLmIS/test.c
>> ccache gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
>> -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -std=c11
>> -fomit-frame-pointer -fPIC -pthread -I/usr/local/include
>> -I/usr/include/harfbuzz -I/usr/include/glib-2.0
>> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
>> -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/bs2b
>> -I/usr/include/freetype2 -I/usr/include/freetype2
>> -I/usr/local/include/opus -I/usr/local/include/opus -c -o
>> /tmp/ffconf.skhCLmIS/test.o /tmp/ffconf.skhCLmIS/test.c
>> ccache gcc -Wl,--as-needed -Wl,-z,noexecstack -o
>> /tmp/ffconf.skhCLmIS/test /tmp/ffconf.skhCLmIS/test.o -lvorbisenc
>> -L/usr/local/lib -lopus -L/usr/local/lib -lopus -lmysofa -lmp3lame
>> -lilbc -lfreetype -lfontconfig -lfreetype -lbs2b -L/usr/local/lib
>> -lass -lm -lbz2 -lz -pthread -pthread
>> /tmp/ffconf.skhCLmIS/test.o: In function `check_vorbis_info_init':
>> test.c:(.text+0x3): undefined reference to `vorbis_info_init'
>> collect2: error: ld returned 1 exit status
>> ERROR: vorbisenc not found using pkg-config
>>
>> Probably because of ccache.
>
> vorbisenc only includes -lvorbis if --static is used in pkg-config.
> Maybe vorbis.pc should also be included, since I see
> libavcodec/libvorbis(enc|dec).c using those too.

I'm building shared always.
diff mbox

Patch

diff --git a/configure b/configure
index 6da5e79b3d..e27640663d 100755
--- a/configure
+++ b/configure
@@ -5885,7 +5885,7 @@  enabled libtwolame        && require libtwolame twolame.h twolame_init -ltwolame
 enabled libv4l2           && require_pkg_config libv4l2 libv4l2.h v4l2_ioctl
 enabled libvidstab        && require_pkg_config "vidstab >= 0.98" vid.stab/libvidstab.h vsMotionDetectInit
 enabled libvo_amrwbenc    && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc
-enabled libvorbis         && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg
+enabled libvorbis         && require_pkg_config vorbisenc vorbis/vorbisenc.h vorbis_info_init
 
 enabled libvpx            && {
     enabled libvpx_vp8_decoder && {