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

Ricardo Constantino wiiaboo at gmail.com
Fri Jun 30 19:05:53 EEST 2017


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.


More information about the ffmpeg-devel mailing list