Hi, Following compiler error is observed on SPARC platform when compiling Emacs 24.3: #v+ cc -std=gnu99 -c -I/usr/local/include -Demacs -I. -I/home/ashish/emacs-nox11/work/emacs-24.3/src -I../lib -I/home/ashish/emacs-nox11/work/emacs-24.3/src/../lib -MMD -MF deps/sysdep.d -MP -O2 -pipe -fno-strict-aliasing sysdep.c In file included from lisp.h:25, from sysdep.c:39: ../lib/stdalign.h:51:1: warning: "_Alignof" redefined In file included from /usr/include/string.h:36, from ./conf_post.h:189, from ./config.h:1671, from sysdep.c:20: /usr/include/sys/cdefs.h:240:1: warning: this is the location of the previous definition In file included from lisp.h:25, from sysdep.c:39: ../lib/stdalign.h:82:1: warning: "_Alignas" redefined In file included from /usr/include/string.h:36, from ./conf_post.h:189, from ./config.h:1671, from sysdep.c:20: /usr/include/sys/cdefs.h:239:1: warning: this is the location of the previous definition In file included from sysdep.c:89: frame.h:86: error: redefinition of 'struct frame' sysdep.c: In function 'list_system_processes': sysdep.c:2684: warning: comparison is always true due to limited range of data type sysdep.c:2684: warning: comparison is always true due to limited range of data type sysdep.c: In function 'system_process_attributes': sysdep.c:3264: warning: comparison is always true due to limited range of data type sysdep.c:3264: warning: comparison is always true due to limited range of data type sysdep.c:3272: warning: comparison is always true due to limited range of data type sysdep.c:3272: warning: comparison is always true due to limited range of data type sysdep.c:3312: warning: comparison is always true due to limited range of data type sysdep.c:3312: warning: comparison is always true due to limited range of data type sysdep.c:3313: warning: comparison is always true due to limited range of data type sysdep.c:3313: warning: comparison is always true due to limited range of data type sysdep.c:3314: warning: comparison is always true due to limited range of data type sysdep.c:3314: warning: comparison is always true due to limited range of data type sysdep.c:3322: warning: comparison is always true due to limited range of data type sysdep.c:3322: warning: comparison is always true due to limited range of data type sysdep.c:3346: warning: comparison is always true due to limited range of data type sysdep.c:3346: warning: comparison is always true due to limited range of data type gmake[1]: *** [sysdep.o] Error 1 #v- This happens because Emacs' and FreeBSD's system header files define a type `struct frame` which causes conflict. The attached diff file fixes this issue by renaming the FreeBSD's type before it gets defined. Following is the output of `uname -a`: #v+ FreeBSD magnus 9.1-STABLE FreeBSD 9.1-STABLE #4 r252102: Sun Jun 23 10:25:50 EDT 2013 root@magnus:/usr/obj/usr/src/sys/GENERIC sparc64 =v- Thanks -- Ashish SHUKLA “Censorship is telling a man he can't have a steak just because a baby can't chew it.” (patcito, identi.ca #62762642) Sent from my Emacs