compile error with xrdp version 0.9.18.1 on CentOS 7 #2156
C standard library
$ CFLAGS=-std=gnu99 ./configure --prefix=/app/xrdp
#define __USE_GNU #define __USE_POSIX session.c:32:0: error: "__USE_GNU" redefined [-Werror] #define __USE_GNU ^ <command-line>:0:0: note: this is the location of the previous definition session.c:33:0: error: "__USE_POSIX" redefined [-Werror] #define __USE_POSIX # ifdef __USE_GNU extern char *strptime_l (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) __THROW; # endif # if defined __USE_POSIX || defined __USE_MISC /* Return the `struct tm' representation of *TIMER in UTC, using *TP to store the result. */ extern struct tm *gmtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __THROW; /* Return the `struct tm' representation of *TIMER in local time, using *TP to store the result. */ extern struct tm *localtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __THROW; # endif /* POSIX or misc */
make[2]: Entering directory `/home/andreas/xrdp-0.9.22.1/common' CC base64.lo CC fifo.lo CC file.lo CC guid.lo guid.c: In function 'guid_new': guid.c:36:12: error: missing braces around initializer [-Werror=missing-braces] struct guid guid = {0}; ^ guid.c:36:12: error: (near initialization for 'guid.g') [-Werror=missing-braces] cc1: all warnings being treated as errors make[2]: *** [guid.lo] Error 1 make[2]: Leaving directory `/home/andreas/xrdp-0.9.22.1/common' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/andreas/xrdp-0.9.22.1' make: *** [all] Error 2 make[3]: Entering directory `/home/andreas/xrdp-0.9.22.1/sesman/chansrv' CC chansrv.o CC chansrv_common.o CC chansrv_config.o CC chansrv_fuse.o CC chansrv_xfs.o CC clipboard.o CC clipboard_file.o CC devredir.o CC fifo.o CC irp.o CC rail.o CC smartcard.o CC smartcard_pcsc.o CC sound.o sound.c: In function ‘process_pcm_message’: sound.c:1121:21: error: ‘for’ loop initial declarations are only allowed in C99 mode for (int i = 0; i < send_silence_times; i++) ^ sound.c:1121:21: note: use option -std=c99 or -std=gnu99 to compile your code make[3]: *** [sound.o] Error 1 make[3]: Leaving directory `/home/andreas/xrdp-0.9.22.1/sesman/chansrv' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/andreas/xrdp-0.9.22.1/sesman' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/andreas/xrdp-0.9.22.1' make: *** [all] Error 2 make[3]: Entering directory `/home/andreas/xrdp-0.9.22.1/sesman' CC access.o CC config.o CC env.o CC scp.o CC scp_v0.o CC scp_v1.o CC scp_v1_mng.o CC sesman.o CC session.o session.c: In function ‘session_start_fork’: session.c:981:9: error: implicit declaration of function ‘localtime_r’ [-Werror=implicit-function-declaration] localtime_r(<ime, &stime); ^ cc1: all warnings being treated as errors make[3]: *** [session.o] Error 1 make[3]: Leaving directory `/home/andreas/xrdp-0.9.22.1/sesman' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/andreas/xrdp-0.9.22.1/sesman' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/andreas/xrdp-0.9.22.1' make: *** [all] Error 2