emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make: syntax error before "G_GNUC_SENTINEL"


From: Stephen Berman
Subject: Re: make: syntax error before "G_GNUC_SENTINEL"
Date: Tue, 05 Jul 2005 16:25:05 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

On Tue, 5 Jul 2005 12:45:00 +0200 "Jan D." <address@hidden> wrote:

>> I just did cvs up and ./configure --with-x-toolkit=gtk without a
>> problem, but make (without and with bootstrap) bailed out with the
>> following errors.  I used the same gcc (3.3.5), gtk2 (2.6.4) and make
>> (3.80) (all from SUSE 9.3) as I did with my previous successful build
>> (the one with which I'm posting this) and didn't get these errors then
>> or ever before.  Can anyone help?
>>
>> In file included from /opt/gnome/include/gtk-2.0/gdk-pixbuf/gdk- 
>> pixbuf.h:33,
>>                  from /opt/gnome/include/gtk-2.0/gdk/gdkcursor.h:5,
>>                  from /opt/gnome/include/gtk-2.0/gdk/gdk.h:31,
>>                  from /opt/gnome/include/gtk-2.0/gtk/gtk.h:31,
>>                  from xterm.h:46,
>>                  from dispnew.c:56:
>> /opt/gnome/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h:163: error:
>> syntax error before "G_GNUC_SENTINEL"
>
> All errors relating to G_GNUC_SENTINEL are at locations where there
> is a ... in a function prototype.  No file in Emacs or Gtk defines
> G_GNUC_SENTINEL.  I suspect this is a Suse problem.  If you look at
> the files at the error location and there is a G_GNUC_SENTINEL there
> instead of ..., then Suse has modified the include files and
> G_GNUC_SENTINEL is defined elsewhere.
>
> Did you update your Suse system between Emacs compiles?  

As a matter of fact, yes -- and that's what caused the problem...

> Try looking for G_GNUC_SENTINEL in the include files at
> /usr/include, /usr/local/ include, /usr/X11R6/include and possibly
> /usr/lib/gcc-lib.

It's not there, nor anywhere else.  Among the updated packages was
glib2, updated from 2.6.3 to 2.7.0.  G_GNUC_SENTINEL is defined in
/opt/gnome/include/glib-2.0/glib/gmacros.h in the earlier version,
but not in the later version.  In fact, the only difference between
the two versions of gmacros.h is this:

*** gmacros.h from glib2-2.6.3
--- gmacros.h from glib2-2.7.0
***************
*** 58,66 ****
  #endif
  
  #if     __GNUC__ >= 4
! #define G_GNUC_SENTINEL(x) __attribute__((__sentinel__(x)))
  #else
! #define G_GNUC_SENTINEL(x)
  #endif
  
  #if     __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
--- 58,66 ----
  #endif
  
  #if     __GNUC__ >= 4
! #define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
  #else
! #define G_GNUC_NULL_TERMINATED
  #endif
  
  #if     __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)

I'm hesitant to revert to the earlier version.  Do you think it would
be safe to add the definition of G_GNUC_SENTINEL to the gmacros.h
currently installed on my system?

> In the future, do not remove the compile command when sending bug
> reports with compiler errors (i.e. the actual gcc command that
> preceeds these errors).

Sorry about that.  For the record, here it is:

make[1]: Entering directory `/home/steve/cvsroot/emacs/src'
gcc -c -D_BSD_SOURCE -Demacs -DHAVE_CONFIG_H -DUSE_GTK
-I. -I/home/steve/cvsroot/emacs/src -D_BSD_SOURCE -I/usr/X11R6/include
-DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/opt/gnome/include/gtk-2.0
-I/opt/gnome/lib/gtk-2.0/include -I/usr/X11R6/include
-I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/pango-1.0
-I/usr/include/freetype2 -I/usr/include/freetype2/config
-I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -g -O2
dispnew.c

>      Jan D.

Thanks for your reply.

Steve Berman





reply via email to

[Prev in Thread] Current Thread [Next in Thread]