xpra-2.1.1 fails to compile with ffmpeg-3.1.7 on Alpine Linux 3.5:
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -g -DNDEBUG -Os -fomit-frame-pointer -g -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 -Werror -fPIC xpra/codecs/enc_ffmpeg/encoder.c: In function 'initencoder': xpra/codecs/enc_ffmpeg/encoder.c:18128: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_ERR(0, 448, __pyx_L1_error) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ xpra/codecs/enc_ffmpeg/encoder.c:18128:36: note: each undeclared identifier is reported only once for each function it appears in xpra/codecs/enc_ffmpeg/encoder.c:18164: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_ERR(0, 451, __pyx_L1_error) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ error: command 'gcc' failed with exit status 1
The build error should be perfectly reproducible, if you take my Xpra Dockerfile for Alpine, replace XPRA_VERSION=2.0.2
with XPRA_VERSION=2.1.1
and remove the invocation of patch
.
You will have to comment out what is necessary to allow it to build, we only support the latest versions of ffmpeg through private libraries to avoid this sort of breakage. See: #613 for RPM and #1256 for DEB.
Could you please add a version check to setup.py
?
Could you please add a version check to setup.py?
Sure, but I have no idea what version is required - and no time to investigate, sorry.
A better solution for you might be to skip this codec, it is only used for HTML5 video support - and that's still not supported.
I just updated to Alpine Linux 3.6, which comes with ffmpeg-3.2.6, and xpra-2.1.1 builds with that version of ffmpeg.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1618