vlc not building after update to ffmpeg 3.0

  • Done
  • quality assurance status badge
Details
3 participants
  • Christopher Allan Webber
  • Efraim Flashner
  • Ludovic Courtès
Owner
unassigned
Submitted by
Christopher Allan Webber
Severity
normal

Debbugs page

Christopher Allan Webber wrote 9 years ago
(address . bug-guix@gnu.org)
87y48mvb98.fsf@dustycloud.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 latter.

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 ‘InitVideoDec’:
codec/avcodec/video.c:226:5: error: implicit declaration of function ‘avcodec_alloc_frame’ [-Werror=implicit-function-declaration]
p_sys->p_ff_pic = avcodec_alloc_frame();
^
codec/avcodec/video.c:226:21: warning: assignment makes pointer from integer without a cast
p_sys->p_ff_pic = avcodec_alloc_frame();
^
codec/avcodec/video.c:308:34: warning: assignment from incompatible pointer type
p_sys->p_context->get_format = ffmpeg_GetFormat;
^
codec/avcodec/video.c:438:9: error: implicit declaration of function ‘avcodec_free_frame’ [-Werror=implicit-function-declaration]
avcodec_free_frame( &p_sys->p_ff_pic );
^
codec/avcodec/video.c: In function ‘lavc_dr_GetFrame’:
codec/avcodec/video.c:996:25: error: ‘PIX_FMT_PAL8’ undeclared (first use in this function)
if (ctx->pix_fmt == PIX_FMT_PAL8)
^
codec/avcodec/video.c:996:25: note: each undeclared identifier is reported 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 ‘ffmpeg_GetFormat’
codec/avcodec/video.c:111:25: note: previous declaration of ‘ffmpeg_GetFormat’ was here
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
^
codec/avcodec/video.c: In function ‘ffmpeg_GetFormat’:
codec/avcodec/video.c:1317:5: error: invalid use of undefined type ‘enum PixelFormat’
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1317:30: error: dereferencing pointer to incomplete type
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1317:37: error: ‘PIX_FMT_NONE’ undeclared (first use in this function)
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1319:9: error: invalid use of undefined type ‘enum PixelFormat’
const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(pi_fmt[i]);
^
codec/avcodec/video.c:1319:67: error: dereferencing pointer to incomplete type
const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(pi_fmt[i]);
^
codec/avcodec/video.c:1324:9: error: invalid use of undefined type ‘enum PixelFormat’
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 ‘msg_Dbg’
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 ‘enum PixelFormat’
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1344:30: error: dereferencing pointer to incomplete type
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1346:9: error: invalid use of undefined type ‘enum PixelFormat’
if( p_va->pix_fmt != pi_fmt[i] )
^
codec/avcodec/video.c:1346:36: error: dereferencing pointer to incomplete type
if( p_va->pix_fmt != pi_fmt[i] )
^
codec/avcodec/video.c:1370:9: error: invalid use of undefined type ‘enum PixelFormat’
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: ‘return’ with a value, in function returning void
return pi_fmt[i];
^
codec/avcodec/video.c:1378:51: warning: passing argument 2 of ‘avcodec_default_get_format’ 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 ‘const enum AVPixelFormat *’ but argument is of type ‘const enum Pix
elFormat *’
enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat * fmt);
^
codec/avcodec/video.c:1378:5: warning: ‘return’ with a value, 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: ‘ffmpeg_GetFormat’ used but never defined
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
^
codec/avcodec/video.c:1305:25: warning: ‘ffmpeg_GetFormat’ 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-video.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/modules'
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/modules'
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/modules'
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' failed 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' failed with e
xit code 1
guix build: error: build failed: build of `/gnu/store/bpa68ylz20k6mczni69w2dmfcbk
f12a7-vlc-2.2.1.drv' failed
Christopher Allan Webber wrote 9 years ago
(address . bug-guix@gnu.org)
87wpo6vb00.fsf@dustycloud.org
Christopher Allan Webber writes:

Toggle quote (7 lines)
> 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 latter.

It looks like this is not unique to us:
Efraim Flashner wrote 9 years ago
Re: bug#23256: vlc not building after update to ffmpeg 3.0
(name . Christopher Allan Webber)(address . cwebber@dustycloud.org)(address . 23256@debbugs.gnu.org)
20160409205258.GD7587@debian-netbook
On Sat, Apr 09, 2016 at 02:21:39PM -0500, Christopher Allan Webber wrote:
Toggle quote (8 lines)
> 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 latter.
>

vlc-2.2.2 depends on an update to qt-5.6 which we haven't been able to
do yet.

I seems we have a number of programs that don't currently build with
ffmpeg-3.0, so including 2.8.6 and using that version for the programs
that need it is probably a good idea.

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJXCWumAAoJEPTB05F+rO6TIfkP/3WAwXwS1h0BrijJZ5/sADbe
4GnINlzGXktOlPfxS8hdGSqhYEyN5494VYklVQZ2qzZNX9+SSODYv3lRu56jaAc6
dOpwBJHfETUZ1MZne1tMaFaV+Qf+NyspHVEYmPrPDZCmq4F+shnZWzmS5Ad7t0Ul
1K1Yd3KCMCkd8aq9laF6EWHDOvZwhOi970qRiBju88KNA963vqIaLoOv3aeGm+FN
Qfzu+4utiy0/wkoJnLP/LYTts2vmzvY8AehcharCi5sKA+L1oRvH3b0Dd0L7ranF
eODSfFJAW75HbYb7YXNvjbqwBuMKfxXtfzL4pd7e5g2Pb0RM0WsaAAgUj45kovuZ
/vnMZiPUMb+oQk/cZ9PJ1sj3pjMPKflLsjeuotdJsJRkYkCa8t/tkYynT6e50haj
Ml+6zbBMBpKJQybnzo1Dy5ZJaYK321Gvbo4agkOvat7JZcUpMDE7s+RlMCLD6vzY
aSCmU8j1aN2RspR3aZgBu19t8lP/kEOppJaC7J5h3k8895hyOoRSFWHRC7txaFwm
3vWh15f6nj/kueHdTpPMybApkG41NhPIS9gNsreuWtz+ebN08nHHiELU2PYb63zZ
q/m3K5NWQSFrBV9Wjgy+BjlYXH7Q8ZQFzXHFBgr1YTARCLgF+rQuPEXAY1ktVS82
0Sq4y/lwKkutQv7i+zAy
=xih9
-----END PGP SIGNATURE-----


Ludovic Courtès wrote 9 years ago
(name . Efraim Flashner)(address . efraim@flashner.co.il)
87vb3lcj2e.fsf@gnu.org
Efraim Flashner <efraim@flashner.co.il> skribis:

Toggle quote (4 lines)
> I seems we have a number of programs that don't currently build with
> ffmpeg-3.0, so including 2.8.6 and using that version for the programs
> that need it is probably a good idea.

Indeed. Could you add 2.8.6 alongside 3.0 for now, and have vlc and
other packages that broke depend on 2.8.6?

That’d be awesome. :-)

Thanks,
Ludo’.
Ludovic Courtès wrote 9 years ago
(name . Efraim Flashner)(address . efraim@flashner.co.il)
87fuuj8byu.fsf@gnu.org
ludo@gnu.org (Ludovic Courtès) skribis:

Toggle quote (9 lines)
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
>> I seems we have a number of programs that don't currently build with
>> ffmpeg-3.0, so including 2.8.6 and using that version for the programs
>> that need it is probably a good idea.
>
> Indeed. Could you add 2.8.6 alongside 3.0 for now, and have vlc and
> other packages that broke depend on 2.8.6?

Done in b4dff935500abc5aceb3fc0e13fb7cabb5f756c0.

Ludo'.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 23256@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 23256
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help