[jitsi-dev] Fails to build against libav 9


#1

Hi,

on my Debian system, the latest snapshot (version 2.3.4712.9881), taken
from [0] fails to build against libav 9.7 which is right now in
experimental but it is planned to replace libav 0.8 with libav 9 in
unstable (see [1]). Since jitsi is in the new channel, which means,
that it probably will be included in Debian soon, it would be nice, if
it would be possible to compile it against libav 9. For the errors, that
are causing the build failure, see below.

With best regards,
Julian Wollrath

[0] https://download.jitsi.org/jitsi/nightly/debian-src/
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=706798

ffmpeg:
       [cc] 1 total files to be compiled.
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_avcodec_1encode_1audio’:
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:166:17: warning: ‘avcodec_encode_audio’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3968) [-Wdeprecated-declarations]
       [cc] ret = (jint) avcodec_encode_audio(
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_avcodec_1encode_1video’:
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:197:21: warning: ‘avcodec_encode_video’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4030) [-Wdeprecated-declarations]
       [cc] avcodec_encode_video(
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘ffsink_end_frame’:
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:507:13: error: ‘AVFilterLink’ has no member named ‘cur_buf’
       [cc] if (link->cur_buf)
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:508:51: error: ‘AVFilterLink’ has no member named ‘cur_buf’
       [cc] link->dst->priv = avfilter_ref_buffer(link->cur_buf, ~0);
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘ffsink_query_formats’:
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:536:61: error: dereferencing pointer to incomplete type
       [cc] const int pix_fmts[] = { src->outputs[0]->in_formats->formats[0], -1 };
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:539:9: warning: implicit declaration of function ‘avfilter_set_common_formats’ [-Wimplicit-function-declaration]
       [cc] avfilter_set_common_formats(ctx, ff_make_format_list(pix_fmts));
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:539:9: warning: implicit declaration of function ‘ff_make_format_list’ [-Wimplicit-function-declaration]
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:548:9: warning: implicit declaration of function ‘query_formats’ [-Wimplicit-function-declaration]
       [cc] err = query_formats(ctx);
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_avfilter_1graph_1parse’:
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:580:21: warning: passing argument 3 of ‘avfilter_graph_parse’ from incompatible pointer type [enabled by default]
       [cc] (AVClass *) (intptr_t) log_ctx);
       [cc] ^
       [cc] In file included from /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:18:0:
       [cc] /usr/include/libavfilter/avfiltergraph.h:134:5: note: expected ‘struct AVFilterInOut *’ but argument is of type ‘struct AVFilterInOut **’
       [cc] int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:580:21: warning: passing argument 4 of ‘avfilter_graph_parse’ from incompatible pointer type [enabled by default]
       [cc] (AVClass *) (intptr_t) log_ctx);
       [cc] ^
       [cc] In file included from /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:18:0:
       [cc] /usr/include/libavfilter/avfiltergraph.h:134:5: note: expected ‘struct AVFilterInOut *’ but argument is of type ‘struct AVFilterInOut **’
       [cc] int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,
       [cc] ^
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_get_1filtered_1video_1frame’:
       [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:713:9: warning: implicit declaration of function ‘ff_request_frame’ [-Wimplicit-function-declaration]
       [cc] if (ff_request_frame(ffsink_->inputs[0]) == 0)
       [cc] ^

BUILD FAILED
/tmp/jitsi/resources/install/build.xml:3209: The following error occurred while executing this line:
/tmp/jitsi/lib/src/libjitsi/src/native/build.xml:285: gcc failed with return code 1


#2

Hi,

A few month ago, I sent a patch that fixes all errors _but one_ => https://java.net/projects/jitsi/lists/dev/archive/2013-04/message/223 .

Regards,

···

--
Seb

Le 07/07/2013 18:24, Julian Wollrath a écrit :

Hi,

on my Debian system, the latest snapshot (version 2.3.4712.9881), taken
from [0] fails to build against libav 9.7 which is right now in
experimental but it is planned to replace libav 0.8 with libav 9 in
unstable (see [1]). Since jitsi is in the new channel, which means,
that it probably will be included in Debian soon, it would be nice, if
it would be possible to compile it against libav 9. For the errors, that
are causing the build failure, see below.

With best regards,
Julian Wollrath

[0] https://download.jitsi.org/jitsi/nightly/debian-src/
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=706798

ffmpeg:
        [cc] 1 total files to be compiled.
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_avcodec_1encode_1audio’:
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:166:17: warning: ‘avcodec_encode_audio’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3968) [-Wdeprecated-declarations]
        [cc] ret = (jint) avcodec_encode_audio(
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_avcodec_1encode_1video’:
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:197:21: warning: ‘avcodec_encode_video’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4030) [-Wdeprecated-declarations]
        [cc] avcodec_encode_video(
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘ffsink_end_frame’:
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:507:13: error: ‘AVFilterLink’ has no member named ‘cur_buf’
        [cc] if (link->cur_buf)
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:508:51: error: ‘AVFilterLink’ has no member named ‘cur_buf’
        [cc] link->dst->priv = avfilter_ref_buffer(link->cur_buf, ~0);
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘ffsink_query_formats’:
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:536:61: error: dereferencing pointer to incomplete type
        [cc] const int pix_fmts[] = { src->outputs[0]->in_formats->formats[0], -1 };
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:539:9: warning: implicit declaration of function ‘avfilter_set_common_formats’ [-Wimplicit-function-declaration]
        [cc] avfilter_set_common_formats(ctx, ff_make_format_list(pix_fmts));
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:539:9: warning: implicit declaration of function ‘ff_make_format_list’ [-Wimplicit-function-declaration]
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:548:9: warning: implicit declaration of function ‘query_formats’ [-Wimplicit-function-declaration]
        [cc] err = query_formats(ctx);
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_avfilter_1graph_1parse’:
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:580:21: warning: passing argument 3 of ‘avfilter_graph_parse’ from incompatible pointer type [enabled by default]
        [cc] (AVClass *) (intptr_t) log_ctx);
        [cc] ^
        [cc] In file included from /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:18:0:
        [cc] /usr/include/libavfilter/avfiltergraph.h:134:5: note: expected ‘struct AVFilterInOut *’ but argument is of type ‘struct AVFilterInOut **’
        [cc] int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:580:21: warning: passing argument 4 of ‘avfilter_graph_parse’ from incompatible pointer type [enabled by default]
        [cc] (AVClass *) (intptr_t) log_ctx);
        [cc] ^
        [cc] In file included from /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:18:0:
        [cc] /usr/include/libavfilter/avfiltergraph.h:134:5: note: expected ‘struct AVFilterInOut *’ but argument is of type ‘struct AVFilterInOut **’
        [cc] int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,
        [cc] ^
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c: In function ‘Java_org_jitsi_impl_neomedia_codec_FFmpeg_get_1filtered_1video_1frame’:
        [cc] /tmp/jitsi/lib/src/libjitsi/src/native/ffmpeg/org_jitsi_impl_neomedia_codec_FFmpeg.c:713:9: warning: implicit declaration of function ‘ff_request_frame’ [-Wimplicit-function-declaration]
        [cc] if (ff_request_frame(ffsink_->inputs[0]) == 0)
        [cc] ^

BUILD FAILED
/tmp/jitsi/resources/install/build.xml:3209: The following error occurred while executing this line:
/tmp/jitsi/lib/src/libjitsi/src/native/build.xml:285: gcc failed with return code 1

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Hi,

A few month ago, I sent a patch that fixes all errors _but one_ =>
https://java.net/projects/jitsi/lists/dev/archive/2013-04/message/223 .

that patch does not fix the build, since there are no functions
called avfilter_make_format_list, avfilter_default_query_formats or
avfilter_request_frame in the libavfilter.so from libav 9.7 present in
Debian. Thanks anyhow for your reply.

Best regards,
Julian