[MacPorts] #50697: VLC @2.2.2: build fails when using recently released ffmpeg-3.0

MacPorts noreply at macports.org
Mon May 23 21:19:34 PDT 2016


#50697: VLC @2.2.2: build fails when using recently released ffmpeg-3.0
----------------------------+-------------------------
  Reporter:  devans@…       |      Owner:  rjvbertin@…
      Type:  defect         |     Status:  new
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:
Resolution:                 |   Keywords:
      Port:  VLC VLC-devel  |
----------------------------+-------------------------

Comment (by devans@…):

 Attached my patchfile with the two minor changes I mentioned above.

 I got called away and just got back to this and found that I had
 inadvertantly erase the previous log file without saving it.  So cleaned
 the port and tried again.  This time I got an entirely different and
 undesireable set of errors:

 {{{
 ../doltlibtool  --tag=CC   --mode=compile /usr/bin/clang -DHAVE_CONFIG_H
 -I. -I..  -DMODULE_STRING=\"$(p="codec/avcodec/libavcodec_plugin_la-
 audio.lo"; p="${p##*/}"; p="${p#lib}"; p="${p%_plugin*}"; p="${p%.lo}";
 echo "$p")\" -D__PLUGIN__  -I./access -I./codec -I../include -I../include
 -I/opt/local/include -D__unix__=1 -I/opt/local/lib/live/liveMedia/include
 -I/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/contrib/include
 -I/opt/local/lib/vlc/ffmpeg/include  -I/opt/local/lib/vlc/ffmpeg/include
 -DMERGE_FFMPEG -pipe -Os -arch x86_64 -D_INTL_REDIRECT_MACROS
 -I/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/contrib/include
 -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast
 -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -Werror-
 implicit-function-declaration -pipe -fvisibility=hidden -O3 -ffast-math
 -funroll-loops -fomit-frame-pointer -MT codec/avcodec
 /libavcodec_plugin_la-audio.lo -MD -MP -MF codec/avcodec/.deps
 /libavcodec_plugin_la-audio.Tpo -c -o codec/avcodec/libavcodec_plugin_la-
 audio.lo `test -f 'codec/avcodec/audio.c' || echo
 './'`codec/avcodec/audio.c
 codec/avcodec/subtitle.c:223:45: warning: 'pict' is deprecated
 [-Wdeprecated-declarations]
             const uint8_t index = ffregion->pict.data[0][y *
 ffregion->w+x];
                                             ^
 /opt/local/include/libavcodec/avcodec.h:3710:15: note: 'pict' has been
 explicitly marked deprecated here
     AVPicture pict;
               ^
 codec/avcodec/subtitle.c:223:50: warning: 'data' is deprecated
 [-Wdeprecated-declarations]
             const uint8_t index = ffregion->pict.data[0][y *
 ffregion->w+x];
                                                  ^
 /opt/local/include/libavcodec/avcodec.h:3668:14: note: 'data' has been
 explicitly marked deprecated here
     uint8_t *data[AV_NUM_DATA_POINTERS];    ///< pointers to the image
 data planes
              ^
 codec/avcodec/subtitle.c:227:39: warning: 'pict' is deprecated
 [-Wdeprecated-declarations]
             memcpy(&color, &ffregion->pict.data[1][4*index], 4);
                                       ^
 /usr/include/secure/_string.h:65:33: note: expanded from macro 'memcpy'
   __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
                                 ^
 /opt/local/include/libavcodec/avcodec.h:3710:15: note: 'pict' has been
 explicitly marked deprecated here
     AVPicture pict;
               ^
 codec/avcodec/subtitle.c:227:44: warning: 'data' is deprecated
 [-Wdeprecated-declarations]
             memcpy(&color, &ffregion->pict.data[1][4*index], 4);
                                            ^
 /usr/include/secure/_string.h:65:33: note: expanded from macro 'memcpy'
   __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
                                 ^
 /opt/local/include/libavcodec/avcodec.h:3668:14: note: 'data' has been
 explicitly marked deprecated here
     uint8_t *data[AV_NUM_DATA_POINTERS];    ///< pointers to the image
 data planes
              ^
 codec/avcodec/subtitle.c:290:9: warning: 'avpicture_free' is deprecated
 [-Wdeprecated-declarations]
         avpicture_free(&rec->pict);
         ^
 /opt/local/include/libavcodec/avcodec.h:4877:6: note: 'avpicture_free' has
 been explicitly marked deprecated here
 void avpicture_free(AVPicture *picture);
      ^
 codec/avcodec/subtitle.c:290:30: warning: 'pict' is deprecated
 [-Wdeprecated-declarations]
         avpicture_free(&rec->pict);
                              ^
 /opt/local/include/libavcodec/avcodec.h:3710:15: note: 'pict' has been
 explicitly marked deprecated here
     AVPicture pict;
               ^
 mv -f codec/.deps/libvorbis_plugin_la-vorbis.Tpo codec/.deps
 /libvorbis_plugin_la-vorbis.Plo
 ../doltlibtool  --tag=CC   --mode=compile /usr/bin/clang -DHAVE_CONFIG_H
 -I. -I..  -DMODULE_STRING=\"$(p="codec/avcodec/libavcodec_plugin_la-
 fourcc.lo"; p="${p##*/}"; p="${p#lib}"; p="${p%_plugin*}"; p="${p%.lo}";
 echo "$p")\" -D__PLUGIN__  -I./access -I./codec -I../include -I../include
 -I/opt/local/include -D__unix__=1 -I/opt/local/lib/live/liveMedia/include
 -I/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/contrib/include
 -I/opt/local/lib/vlc/ffmpeg/include  -I/opt/local/lib/vlc/ffmpeg/include
 -DMERGE_FFMPEG -pipe -Os -arch x86_64 -D_INTL_REDIRECT_MACROS
 -I/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/contrib/include
 -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast
 -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -Werror-
 implicit-function-declaration -pipe -fvisibility=hidden -O3 -ffast-math
 -funroll-loops -fomit-frame-pointer -MT codec/avcodec
 /libavcodec_plugin_la-fourcc.lo -MD -MP -MF codec/avcodec/.deps
 /libavcodec_plugin_la-fourcc.Tpo -c -o codec/avcodec/libavcodec_plugin_la-
 fourcc.lo `test -f 'codec/avcodec/fourcc.c' || echo
 './'`codec/avcodec/fourcc.c
 codec/avcodec/video.c:237:23: error: implicit declaration of function
 'avcodec_alloc_frame' is invalid in C99 [-Werror,-Wimplicit-function-
 declaration]
     p_sys->p_ff_pic = avcodec_alloc_frame();
                       ^
 codec/avcodec/video.c:237:21: warning: incompatible integer to pointer
 conversion assigning to 'AVFrame *' (aka 'struct AVFrame *') from 'int'
 [-Wint-conversion]
     p_sys->p_ff_pic = avcodec_alloc_frame();
                     ^ ~~~~~~~~~~~~~~~~~~~~~
 codec/avcodec/video.c:319:34: warning: incompatible pointer types
 assigning to 'enum AVPixelFormat (*)(struct AVCodecContext *, const enum
 AVPixelFormat *)' from 'enum PixelFormat (AVCodecContext *, const enum
 PixelFormat *)' [-Wincompatible-pointer-types]
     p_sys->p_context->get_format = ffmpeg_GetFormat;
                                  ^ ~~~~~~~~~~~~~~~~
 codec/avcodec/video.c:449:9: error: implicit declaration of function
 'avcodec_free_frame' is invalid in C99 [-Werror,-Wimplicit-function-
 declaration]
         avcodec_free_frame( &p_sys->p_ff_pic );
         ^
 codec/avcodec/video.c:1316:25: error: incomplete result type 'enum
 PixelFormat' in function definition
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
                         ^
 codec/avcodec/video.c:111:13: note: forward declaration of 'enum
 PixelFormat'
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
             ^
 codec/avcodec/video.c:1328:30: error: subscript of pointer to incomplete
 type 'const enum PixelFormat'
     for( size_t i = 0; pi_fmt[i] != AV_PIX_FMT_NONE; i++ )
                        ~~~~~~^
 codec/avcodec/video.c:111:13: note: forward declaration of 'enum
 PixelFormat'
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
             ^
 codec/avcodec/video.c:1330:67: error: subscript of pointer to incomplete
 type 'const enum PixelFormat'
         const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(pi_fmt[i]);
                                                             ~~~~~~^
 codec/avcodec/video.c:111:13: note: forward declaration of 'enum
 PixelFormat'
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
             ^
 codec/avcodec/video.c:1336:51: error: subscript of pointer to incomplete
 type 'const enum PixelFormat'
                  hwaccel ? "hard" : "soft", pi_fmt[i], dsc->name );
                                             ~~~~~~^
 ../include/vlc_messages.h:78:63: note: expanded from macro 'msg_Dbg'
     vlc_Log( VLC_OBJECT(p_this), VLC_MSG_DBG,  MODULE_STRING, __VA_ARGS__
 )
                                                               ^
 codec/avcodec/video.c:111:13: note: forward declaration of 'enum
 PixelFormat'
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
             ^
 codec/avcodec/video.c:1355:30: error: subscript of pointer to incomplete
 type 'const enum PixelFormat'
     for( size_t i = 0; pi_fmt[i] != AV_PIX_FMT_NONE; i++ )
                        ~~~~~~^
 codec/avcodec/video.c:111:13: note: forward declaration of 'enum
 PixelFormat'
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
             ^
 codec/avcodec/video.c:1357:36: error: subscript of pointer to incomplete
 type 'const enum PixelFormat'
         if( p_va->pix_fmt != pi_fmt[i] )
                              ~~~~~~^
 codec/avcodec/video.c:111:13: note: forward declaration of 'enum
 PixelFormat'
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
             ^
 codec/avcodec/video.c:1381:22: error: subscript of pointer to incomplete
 type 'const enum PixelFormat'
         return pi_fmt[i];
                ~~~~~~^
 codec/avcodec/video.c:111:13: note: forward declaration of 'enum
 PixelFormat'
 static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
             ^
 codec/avcodec/video.c:1389:51: warning: incompatible pointer types passing
 'const enum PixelFormat *' to parameter of type 'const enum AVPixelFormat
 *' [-Wincompatible-pointer-types]
     return avcodec_default_get_format( p_context, pi_fmt );
                                                   ^~~~~~
 /opt/local/include/libavcodec/avcodec.h:5010:100: note: passing argument
 to parameter 'fmt' here
 enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s,
 const enum AVPixelFormat * fmt);
 ^
 codec/avcodec/video.c:1389:12: error: returning 'enum AVPixelFormat' from
 a function with incompatible result type 'enum PixelFormat'
     return avcodec_default_get_format( p_context, pi_fmt );
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3 warnings and 10 errors generated.
 6 warnings generated.
 In file included from codec/avcodec/audio.c:42:
 /opt/local/lib/vlc/ffmpeg/include/libavutil/audioconvert.h:4:5: warning:
 'FF_API_AUDIOCONVERT' is not defined, evaluates to 0 [-Wundef]
 #if FF_API_AUDIOCONVERT
     ^
 make[4]: *** [codec/avcodec/libavcodec_plugin_la-video.lo] Error 1
 make[4]: *** Waiting for unfinished jobs....
 mv -f codec/avcodec/.deps/libavcodec_plugin_la-subtitle.Tpo
 codec/avcodec/.deps/libavcodec_plugin_la-subtitle.Plo
 1 warning generated.
 mv -f codec/avcodec/.deps/libavcodec_plugin_la-audio.Tpo
 codec/avcodec/.deps/libavcodec_plugin_la-audio.Plo
 mv -f codec/avcodec/.deps/libavcodec_plugin_la-fourcc.Tpo
 codec/avcodec/.deps/libavcodec_plugin_la-fourcc.Plo
 make[4]: Leaving directory
 `/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/modules'
 make[3]: *** [all-recursive] Error 1
 make[3]: Leaving directory
 `/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/modules'
 make[2]: *** [all] Error 2
 make[2]: Leaving directory
 `/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/modules'
 make[1]: *** [all-recursive] Error 1
 make[1]: Leaving directory
 `/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3'
 make: *** [all] Error 2
 make: Leaving directory
 `/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3'
 Command failed:  cd
 "/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3"
 && /usr/bin/make -j4 -w all
 DESTDIR=/opt/local/var/macports/build/_Users_devans_macports_dports_multimedia_VLC/VLC/work/vlc-2.2.3/dest_ignore
 V=1
 Exit code: 2
 }}}

 These errors are symptomatic of linking with ffmpeg 3.0.2 rather than the
 private 2.8.6.  Will try and attach this log file without erasing it!
 Have no idea what changed.

-- 
Ticket URL: <https://trac.macports.org/ticket/50697#comment:37>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list