GNU bug report logs - #14923
24.3.50; Emacs compilation broken on FreeBSD SPARC/ARM platforms

Previous Next

Package: emacs;

Reported by: ashish.is <at> lostca.se (Ashish SHUKLA)

Date: Sun, 21 Jul 2013 12:57:02 UTC

Severity: important

Fixed in version 24.3.50

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#14923: closed (24.3.50; Emacs compilation broken on FreeBSD
 SPARC/ARM platforms)
Date: Mon, 22 Jul 2013 17:49:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 22 Jul 2013 18:48:19 +0100
with message-id <51ED7063.3080305 <at> cs.ucla.edu>
and subject line 24.3.50; Emacs compilation broken on FreeBSD SPARC/ARM platforms
has caused the debbugs.gnu.org bug report #14923,
regarding 24.3.50; Emacs compilation broken on FreeBSD SPARC/ARM platforms
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
14923: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14923
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: ashish.is <at> lostca.se (Ashish SHUKLA)
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; Emacs compilation broken on FreeBSD SPARC/ARM platforms
Date: Sun, 21 Jul 2013 18:24:32 +0530
[Message part 3 (text/plain, inline)]
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 <at> 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
[patch-src_sysdep.c (text/plain, attachment)]
[signature.asc (application/pgp-signature, inline)]
[Message part 6 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: 14923-done <at> debbugs.gnu.org
Cc: ashish.is <at> lostca.se
Subject: 24.3.50; Emacs compilation broken on FreeBSD SPARC/ARM platforms
Date: Mon, 22 Jul 2013 18:48:19 +0100
Thanks, I installed a fix in the trunk (bzr 113491) along the
lines you suggested and am marking this as done.

The _Alignof/_Alignas issue was fixed earlier in
the trunk (bzr 113322).

The other noise is harmless and should be fixed
once FreeBSD fixes their compiler (a later GCC
version, perhaps? I don't know the FreeBSD
compiler technology these days).


This bug report was last modified 12 years and 2 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.