[winswitch] Unable to build xpra-2.0 on Slackware64 14.2

Antoine Martin antoine at nagafix.co.uk
Mon Apr 24 06:37:37 BST 2017


On 23/04/17 19:59, YuGiOhJCJ Mailing-List wrote:
> OK, now I am using xpra 2.0.2 and the "--without-strict" option:
> ---
> $ python setup.py install --without-strict
(snip)
> gcc -pthread -shared build/temp.linux-x86_64-2.7/xpra/codecs/libav_common/av_log.o -L/usr/lib64 -lavutil -lpython2.7 -o build/lib.linux-x86_64-2.7/xpra/codecs/libav_common/av_log.so -Wall
> building 'xpra.codecs.dec_avcodec2.decoder' extension
> creating build/temp.linux-x86_64-2.7/xpra/codecs/dec_avcodec2
> gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c xpra/codecs/dec_avcodec2/decoder.c -o build/temp.linux-x86_64-2.7/xpra/codecs/dec_avcodec2/decoder.o -Wall -fPIC
> xpra/codecs/dec_avcodec2/decoder.c: In function ‘__pyx_pf_4xpra_6codecs_12dec_avcodec2_7decoder_7Decoder_26decompress_image’:
> xpra/codecs/dec_avcodec2/decoder.c:8244:23: warning: implicit declaration of function ‘avcodec_send_packet’ [-Wimplicit-function-declaration]
>          __pyx_v_ret = avcodec_send_packet(__pyx_v_self->codec_ctx, (&__pyx_v_avpkt));
>                        ^
> xpra/codecs/dec_avcodec2/decoder.c:8425:23: warning: implicit declaration of function ‘avcodec_receive_frame’ [-Wimplicit-function-declaration]
>          __pyx_v_ret = avcodec_receive_frame(__pyx_v_self->codec_ctx, __pyx_v_self->av_frame);
>                        ^

(snip)
> building 'xpra.codecs.enc_ffmpeg.encoder' extension
> creating build/temp.linux-x86_64-2.7/xpra/codecs/enc_ffmpeg
> gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c xpra/codecs/enc_ffmpeg/encoder.c -o build/temp.linux-x86_64-2.7/xpra/codecs/enc_ffmpeg/encoder.o -Wall -fPIC
> xpra/codecs/enc_ffmpeg/encoder.c: In function ‘__pyx_pf_4xpra_6codecs_10enc_ffmpeg_7encoder_7Encoder_2init_encoder’:
> xpra/codecs/enc_ffmpeg/encoder.c:7934:15: warning: implicit declaration of function ‘avcodec_parameters_from_context’ [-Wimplicit-function-declaration]
>    __pyx_v_r = avcodec_parameters_from_context(__pyx_v_self->video_stream->codecpar, __pyx_v_self->video_ctx);
>                ^
> xpra/codecs/enc_ffmpeg/encoder.c:7934:73: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
>    __pyx_v_r = avcodec_parameters_from_context(__pyx_v_self->video_stream->codecpar, __pyx_v_self->video_ctx);
>                                                                          ^
> xpra/codecs/enc_ffmpeg/encoder.c:7953:78: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
>      __pyx_t_2 = __Pyx_PyInt_FromSize_t(((uintptr_t)__pyx_v_self->video_stream->codecpar)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
>                                                                               ^
> xpra/codecs/enc_ffmpeg/encoder.c:8367:75: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
>      __pyx_v_r = avcodec_parameters_from_context(__pyx_v_self->audio_stream->codecpar, __pyx_v_self->audio_ctx);
>                                                                            ^
> xpra/codecs/enc_ffmpeg/encoder.c:8386:80: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
>        __pyx_t_4 = __Pyx_PyInt_FromSize_t(((uintptr_t)__pyx_v_self->audio_stream->codecpar)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
>                                                                                 ^
> xpra/codecs/enc_ffmpeg/encoder.c: In function ‘__pyx_pf_4xpra_6codecs_10enc_ffmpeg_7encoder_7Encoder_32compress_image’:
> xpra/codecs/enc_ffmpeg/encoder.c:12372:23: warning: implicit declaration of function ‘avcodec_send_frame’ [-Wimplicit-function-declaration]
>          __pyx_v_ret = avcodec_send_frame(__pyx_v_self->video_ctx, __pyx_v_frame);
>                        ^
> xpra/codecs/enc_ffmpeg/encoder.c:12572:25: warning: implicit declaration of function ‘avcodec_receive_packet’ [-Wimplicit-function-declaration]
>            __pyx_v_ret = avcodec_receive_packet(__pyx_v_self->video_ctx, (&__pyx_v_avpkt));
>                          ^
> xpra/codecs/enc_ffmpeg/encoder.c: In function ‘initencoder’:
> xpra/codecs/enc_ffmpeg/encoder.c:16412:36: error: ‘FF_PROFILE_H264_MULTIVIEW_HIGH’ undeclared (first use in this function)
>    __pyx_t_3 = __Pyx_PyInt_From_int(FF_PROFILE_H264_MULTIVIEW_HIGH); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
>                                     ^
> xpra/codecs/enc_ffmpeg/encoder.c:16412:36: note: each undeclared identifier is reported only once for each function it appears in
> xpra/codecs/enc_ffmpeg/encoder.c:16448:36: error: ‘FF_PROFILE_H264_STEREO_HIGH’ undeclared (first use in this function)
>    __pyx_t_3 = __Pyx_PyInt_From_int(FF_PROFILE_H264_STEREO_HIGH); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
>                                     ^
> xpra/codecs/enc_ffmpeg/encoder.c:16731:36: error: ‘AV_OPT_TYPE_BOOL’ undeclared (first use in this function)
>    __pyx_t_4 = __Pyx_PyInt_From_int(AV_OPT_TYPE_BOOL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
>                                     ^
> error: command 'gcc' failed with exit status 1
> ---
> 
> Is there an incompatibility between my ffmpeg and my xpra versions?
Yes. We require ffmpeg 3.1 or later.

> I am using ffmpeg-2.8.7 (built from source code, not the one provided by my distro).
(strange choice, since the latest version from the 2.8 branch is 2.8.11)

In any case, you have to use a supported version of ffmpeg or disable
the codec that break: --without-dec_avcodec2 --without-enc_ffmpeg

Cheers
Antoine



More information about the shifter-users mailing list