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

Paul B Mahol onemda at gmail.com
Fri Jun 30 19:18:55 EEST 2017


On 6/30/17, Ricardo Constantino <wiiaboo at gmail.com> wrote:
> On 30 June 2017 at 16:55, Paul B Mahol <onemda at gmail.com> wrote:
>> On 6/28/17, Paul B Mahol <onemda at gmail.com> wrote:
>>> On 6/28/17, Ricardo Constantino <wiiaboo at gmail.com> wrote:
>>>> On 24 June 2017 at 13:47, Ricardo Constantino <wiiaboo at 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 at 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.


More information about the ffmpeg-devel mailing list