From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Allan Webber Subject: bug#23256: vlc not building after update to ffmpeg 3.0 Date: Sat, 09 Apr 2016 14:21:39 -0500 Message-ID: <87y48mvb98.fsf@dustycloud.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aoySJ-0008Rt-DV for bug-guix@gnu.org; Sat, 09 Apr 2016 15:22:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aoySI-0007hB-6y for bug-guix@gnu.org; Sat, 09 Apr 2016 15:22:03 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:44035) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aoySI-0007h6-3x for bug-guix@gnu.org; Sat, 09 Apr 2016 15:22:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1aoySI-0005au-0b for bug-guix@gnu.org; Sat, 09 Apr 2016 15:22:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51692) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aoyS1-00087b-4a for bug-guix@gnu.org; Sat, 09 Apr 2016 15:21:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aoyRz-0007ey-GR for bug-guix@gnu.org; Sat, 09 Apr 2016 15:21:45 -0400 Received: from dustycloud.org ([2600:3c02::f03c:91ff:feae:cb51]:48940) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aoyRz-0007er-Aq for bug-guix@gnu.org; Sat, 09 Apr 2016 15:21:43 -0400 Received: from oolong (localhost [127.0.0.1]) by dustycloud.org (Postfix) with ESMTPS id AD0462667C for ; Sat, 9 Apr 2016 15:21:40 -0400 (EDT) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 23256@debbugs.gnu.org vlc is failing to build after the update recently to ffmpeg 3.0. I verified that it builds prior to this change. Should we include an older version of ffmpeg to build vlc with for now? Or should we try to figure out what to do to to get vlc to build with ffmpeg 3.0? Maybe for now we should do the former for the aim of the lat= ter. Here's the output while attempting to build. CC codec/libvorbis_plugin_la-vorbis.lo CC codec/avcodec/libavcodec_plugin_la-video.lo codec/avcodec/video.c: In function =E2=80=98InitVideoDec=E2=80=99: codec/avcodec/video.c:226:5: error: implicit declaration of function =E2=80= =98avcodec_alloc_frame=E2=80=99 [-Werror=3Dimplicit-function-declaration] p_sys->p_ff_pic =3D avcodec_alloc_frame(); ^ codec/avcodec/video.c:226:21: warning: assignment makes pointer from inte= ger without a cast p_sys->p_ff_pic =3D avcodec_alloc_frame(); ^ codec/avcodec/video.c:308:34: warning: assignment from incompatible point= er type p_sys->p_context->get_format =3D ffmpeg_GetFormat; ^ codec/avcodec/video.c:438:9: error: implicit declaration of function =E2=80= =98avcodec_free_frame=E2=80=99 [-Werror=3Dimplicit-function-declaration] avcodec_free_frame( &p_sys->p_ff_pic ); ^ codec/avcodec/video.c: In function =E2=80=98lavc_dr_GetFrame=E2=80=99: codec/avcodec/video.c:996:25: error: =E2=80=98PIX_FMT_PAL8=E2=80=99 undec= lared (first use in this function) if (ctx->pix_fmt =3D=3D PIX_FMT_PAL8) ^ codec/avcodec/video.c:996:25: note: each undeclared identifier is reporte= d only once for each function it appears in codec/avcodec/video.c: At top level: codec/avcodec/video.c:1305:25: error: return type is an incomplete type static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, ^ codec/avcodec/video.c:1305:25: error: conflicting types for =E2=80=98ffmp= eg_GetFormat=E2=80=99 codec/avcodec/video.c:111:25: note: previous declaration of =E2=80=98ffmp= eg_GetFormat=E2=80=99 was here static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *, ^ codec/avcodec/video.c: In function =E2=80=98ffmpeg_GetFormat=E2=80=99: codec/avcodec/video.c:1317:5: error: invalid use of undefined type =E2=80= =98enum PixelFormat=E2=80=99 for( size_t i =3D 0; pi_fmt[i] !=3D PIX_FMT_NONE; i++ ) ^ codec/avcodec/video.c:1317:30: error: dereferencing pointer to incomplete= type for( size_t i =3D 0; pi_fmt[i] !=3D PIX_FMT_NONE; i++ ) ^ codec/avcodec/video.c:1317:37: error: =E2=80=98PIX_FMT_NONE=E2=80=99 unde= clared (first use in this function) for( size_t i =3D 0; pi_fmt[i] !=3D PIX_FMT_NONE; i++ ) ^ codec/avcodec/video.c:1319:9: error: invalid use of undefined type =E2=80= =98enum PixelFormat=E2=80=99 const AVPixFmtDescriptor *dsc =3D av_pix_fmt_desc_get(pi_fmt[i])= ; ^ codec/avcodec/video.c:1319:67: error: dereferencing pointer to incomplete= type const AVPixFmtDescriptor *dsc =3D av_pix_fmt_desc_get(pi_fmt[i])= ; ^ codec/avcodec/video.c:1324:9: error: invalid use of undefined type =E2=80= =98enum PixelFormat=E2=80=99 msg_Dbg( p_dec, "available %sware decoder output format %d (%s)"= , ^ In file included from ../include/vlc_common.h:908:0, from codec/avcodec/video.c:32: codec/avcodec/video.c:1325:51: error: dereferencing pointer to incomplete= type hwaccel ? "hard" : "soft", pi_fmt[i], dsc->name ); ^ ../include/vlc_messages.h:78:63: note: in definition of macro =E2=80=98ms= g_Dbg=E2=80=99 vlc_Log( VLC_OBJECT(p_this), VLC_MSG_DBG, MODULE_STRING, __VA_ARGS_= _ ) ^ codec/avcodec/video.c:1344:5: error: invalid use of undefined type =E2=80= =98enum PixelFormat=E2=80=99 for( size_t i =3D 0; pi_fmt[i] !=3D PIX_FMT_NONE; i++ ) ^ codec/avcodec/video.c:1344:30: error: dereferencing pointer to incomplete= type for( size_t i =3D 0; pi_fmt[i] !=3D PIX_FMT_NONE; i++ ) ^ codec/avcodec/video.c:1346:9: error: invalid use of undefined type =E2=80= =98enum PixelFormat=E2=80=99 if( p_va->pix_fmt !=3D pi_fmt[i] ) ^ codec/avcodec/video.c:1346:36: error: dereferencing pointer to incomplete= type if( p_va->pix_fmt !=3D pi_fmt[i] ) ^ codec/avcodec/video.c:1370:9: error: invalid use of undefined type =E2=80= =98enum PixelFormat=E2=80=99 return pi_fmt[i]; ^ codec/avcodec/video.c:1370:22: error: dereferencing pointer to incomplete= type return pi_fmt[i]; ^ codec/avcodec/video.c:1370:9: warning: =E2=80=98return=E2=80=99 with a va= lue, in function returning void return pi_fmt[i]; ^ codec/avcodec/video.c:1378:51: warning: passing argument 2 of =E2=80=98av= codec_default_get_format=E2=80=99 from incompatible pointer type return avcodec_default_get_format( p_context, pi_fmt ); ^ In file included from codec/avcodec/video.c:38:0: /gnu/store/p202gwk3i870jwdwa72j08x9q8n1n2qs-ffmpeg-3.0/include/libavcodec= /avcodec.h:5010:20: note: expected =E2=80=98const enum AVPixelFormat *=E2= =80=99 but argument is of type =E2=80=98const enum Pix elFormat *=E2=80=99 enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, = const enum AVPixelFormat * fmt); ^ codec/avcodec/video.c:1378:5: warning: =E2=80=98return=E2=80=99 with a va= lue, in function returning void return avcodec_default_get_format( p_context, pi_fmt ); ^ codec/avcodec/video.c: At top level: codec/avcodec/video.c:111:25: warning: =E2=80=98ffmpeg_GetFormat=E2=80=99= used but never defined static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *, ^ codec/avcodec/video.c:1305:25: warning: =E2=80=98ffmpeg_GetFormat=E2=80=99= defined but not used [-Wunused-function] static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, ^ cc1: some warnings being treated as errors Makefile:7735: recipe for target 'codec/avcodec/libavcodec_plugin_la-vide= o.lo' failed make[4]: *** [codec/avcodec/libavcodec_plugin_la-video.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory '/tmp/guix-build-vlc-2.2.1.drv-0/vlc-2.2.1/mod= ules' Makefile:9652: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory '/tmp/guix-build-vlc-2.2.1.drv-0/vlc-2.2.1/mod= ules' Makefile:4526: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/tmp/guix-build-vlc-2.2.1.drv-0/vlc-2.2.1/mod= ules' Makefile:2262: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/tmp/guix-build-vlc-2.2.1.drv-0/vlc-2.2.1' Makefile:2147: recipe for target 'all' failed make: *** [all] Error 2 phase `build' failed after 44.6 seconds builder for `/gnu/store/bpa68ylz20k6mczni69w2dmfcbkf12a7-vlc-2.2.1.drv' f= ailed wi th exit code 1 @ build-failed /gnu/store/bpa68ylz20k6mczni69w2dmfcbkf12a7-vlc-2.2.1.drv = - 1 buil der for `/gnu/store/bpa68ylz20k6mczni69w2dmfcbkf12a7-vlc-2.2.1.drv' faile= d with e xit code 1 guix build: error: build failed: build of `/gnu/store/bpa68ylz20k6mczni69= w2dmfcbk f12a7-vlc-2.2.1.drv' failed