I tried building NeutrinoRDP on Manjaro Linux, which fails. I did a plain "cmake ." and "make", the errors are below. (I only tried because both the xrdp server and NeutrinoRDP wouldn't build on a more common Ubuntu version distro).
[frank@limoen NeutrinoRDP]$ cmake --version
cmake version 3.0.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[frank@limoen NeutrinoRDP]$ gcc --version
gcc (GCC) 4.9.1
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
compiling:
...
[ 78%] Building C object channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/tsmf_ffmpeg.c.o
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:42:15: error: field 'codec_id' has incomplete type
enum CodecID codec_id;
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_init_context':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:57:2: warning: implicit declaration of function 'avcodec_alloc_context' [-Wimplicit-function-declaration]
mdecoder->codec_context = avcodec_alloc_context();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:57:26: warning: assignment makes pointer from integer without a cast
mdecoder->codec_context = avcodec_alloc_context();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_init_video_stream':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:77:2: warning: 'avcodec_alloc_frame' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3513) [-Wdeprecated-declarations]
mdecoder->frame = avcodec_alloc_frame();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_init_audio_stream':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:92:25: error: 'AVCodecContext' has no member named 'dsp_mask'
mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2;
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_prepare':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:177:2: warning: implicit declaration of function 'avcodec_open' [-Wimplicit-function-declaration]
if (avcodec_open(mdecoder->codec_context, mdecoder->codec) < 0)
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_decode_video':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:347:3: warning: 'avcodec_alloc_frame' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3513) [-Wdeprecated-declarations]
frame = avcodec_alloc_frame();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_decode_audio':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:389:32: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' undeclared (first use in this function)
mdecoder->decoded_size_max = AVCODEC_MAX_AUDIO_FRAME_SIZE + 16;
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:389:32: note: each undeclared identifier is reported only once for each function it appears in
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:424:4: warning: 'avcodec_decode_audio3' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3971) [-Wdeprecated-declarations]
len = avcodec_decode_audio3(mdecoder->codec_context,
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'TSMFDecoderEntry':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:551:3: warning: implicit declaration of function 'avcodec_init' [-Wimplicit-function-declaration]
avcodec_init();
^
channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/build.make:54: recipe for target 'channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/tsmf_ffmpeg.c.o' failed
make[2]: *** [channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/tsmf_ffmpeg.c.o] Error 1
CMakeFiles/Makefile2:692: recipe for target 'channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/all' failed
make[1]: *** [channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2
I tried building NeutrinoRDP on Manjaro Linux, which fails. I did a plain "cmake ." and "make", the errors are below. (I only tried because both the xrdp server and NeutrinoRDP wouldn't build on a more common Ubuntu version distro).
[frank@limoen NeutrinoRDP]$ cmake --version
cmake version 3.0.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[frank@limoen NeutrinoRDP]$ gcc --version
gcc (GCC) 4.9.1
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
compiling:
...
[ 78%] Building C object channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/tsmf_ffmpeg.c.o
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:42:15: error: field 'codec_id' has incomplete type
enum CodecID codec_id;
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_init_context':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:57:2: warning: implicit declaration of function 'avcodec_alloc_context' [-Wimplicit-function-declaration]
mdecoder->codec_context = avcodec_alloc_context();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:57:26: warning: assignment makes pointer from integer without a cast
mdecoder->codec_context = avcodec_alloc_context();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_init_video_stream':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:77:2: warning: 'avcodec_alloc_frame' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3513) [-Wdeprecated-declarations]
mdecoder->frame = avcodec_alloc_frame();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_init_audio_stream':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:92:25: error: 'AVCodecContext' has no member named 'dsp_mask'
mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2;
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_prepare':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:177:2: warning: implicit declaration of function 'avcodec_open' [-Wimplicit-function-declaration]
if (avcodec_open(mdecoder->codec_context, mdecoder->codec) < 0)
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_decode_video':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:347:3: warning: 'avcodec_alloc_frame' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3513) [-Wdeprecated-declarations]
frame = avcodec_alloc_frame();
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'tsmf_ffmpeg_decode_audio':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:389:32: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' undeclared (first use in this function)
mdecoder->decoded_size_max = AVCODEC_MAX_AUDIO_FRAME_SIZE + 16;
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:389:32: note: each undeclared identifier is reported only once for each function it appears in
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:424:4: warning: 'avcodec_decode_audio3' is deprecated (declared at /usr/include/libavcodec/avcodec.h:3971) [-Wdeprecated-declarations]
len = avcodec_decode_audio3(mdecoder->codec_context,
^
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c: In function 'TSMFDecoderEntry':
/home/frank/data/compile/NeutrinoRDP/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c:551:3: warning: implicit declaration of function 'avcodec_init' [-Wimplicit-function-declaration]
avcodec_init();
^
channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/build.make:54: recipe for target 'channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/tsmf_ffmpeg.c.o' failed
make[2]: *** [channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/tsmf_ffmpeg.c.o] Error 1
CMakeFiles/Makefile2:692: recipe for target 'channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/all' failed
make[1]: *** [channels/drdynvc/tsmf/ffmpeg/CMakeFiles/tsmf_ffmpeg.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2