Search code examples
cffmpegwebp

Compling ffmpeg with libwebp error(s)


So I'm trying to compile ffmpeg with --enable-libwebp. But I am getting the following errors:

In file included from libavcodec/libwebpenc_animencoder.c:30:0:
/usr/include/webp/mux.h:101:13: error: expected identifier or ‘(’ before ‘int’
 WEBP_EXTERN(int) WebPGetMuxVersion(void);
             ^~~
/usr/include/webp/mux.h:107:13: error: expected identifier or ‘(’ before ‘WebPMux’
 WEBP_EXTERN(WebPMux*) WebPNewInternal(int);
             ^~~~~~~
/usr/include/webp/mux.h:120:13: error: expected identifier or ‘(’ before ‘void’
 WEBP_EXTERN(void) WebPMuxDelete(WebPMux* mux);
             ^~~~
/usr/include/webp/mux.h:126:13: error: expected identifier or ‘(’ before ‘WebPMux’
 WEBP_EXTERN(WebPMux*) WebPMuxCreateInternal(const WebPData*, int, int);
             ^~~~~~~
/usr/include/webp/mux.h:163:13: error: expected identifier or ‘(’ before ‘WebPMuxError’
 WEBP_EXTERN(WebPMuxError) WebPMuxSetChunk(
             ^~~~~~~~~~~~
/usr/include/webp/mux.h:179:13: error: expected identifier or ‘(’ before ‘WebPMuxError’
 WEBP_EXTERN(WebPMuxError) WebPMuxGetChunk(
             ^~~~~~~~~~~~
/usr/include/webp/mux.h:192:13: error: expected identifier or ‘(’ before ‘WebPMuxError’
 WEBP_EXTERN(WebPMuxError) WebPMuxDeleteChunk(
             ^~~~~~~~~~~~
/usr/include/webp/mux.h:225:13: error: expected identifier or ‘(’ before ‘WebPMuxError’
 WEBP_EXTERN(WebPMuxError) WebPMuxSetImage(
             ^~~~~~~~~~~~
/usr/include/webp/mux.h:245:13: error: expected identifier or ‘(’ before ‘WebPMuxError’
 WEBP_EXTERN(WebPMuxError) WebPMuxPushFrame(
             ^~~~~~~~~~~~
/usr/include/webp/mux.h:263:13: error: expected identifier or ‘(’ before ‘WebPMuxError’
 WEBP_EXTERN(WebPMuxError) WebPMuxGetFrame(
             ^~~~~~~~~~~~
...

Is there a certain version of libwebp I need to be using? Any help would be greatly appreciated.


Solution

  • I just downloaded source code from https://www.ffmpeg.org/download.html

    Load up the webp library

    sudo apt install libwebp-dev
    

    which has version

    apt-cache policy libwebp-dev 
    libwebp-dev:
      Installed: 0.4.4-1
      Candidate: 0.4.4-1
    

    then I used this syntax

    ./configure  --enable-libwebp 
    
    make -j8  # on a quad core, else use -j4
    
    sudo make install
    

    which all ran just fine ... finished disted binary now gives

    ffmpeg -version
    ffmpeg version N-90893-gcae6f80 Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
    configuration: --enable-libwebp
    libavutil      56. 17.100 / 56. 17.100
    libavcodec     58. 19.100 / 58. 19.100
    libavformat    58. 13.100 / 58. 13.100
    libavdevice    58.  4.100 / 58.  4.100
    libavfilter     7. 21.100 /  7. 21.100
    libswscale      5.  2.100 /  5.  2.100
    libswresample   3.  2.100 /  3.  2.100
    

    where I am on ubuntu 16.04 x86_64