You are not logged in.

#1 2004-06-08 19:55:50

CSH-9999
Member
Registered: 2004-03-10
Posts: 18

Evolution GCC error: label at end of compound statement

Hi all, hope this is the right place for this smile

I was building Evolution from ABS to add support for LDAP, and I got this error:

error: label at end of compound statement

I ran 'abs' before this, so I have the latest as far as that goes. I -Syu every week on Monday.
I've done some google searching and in some situations it turned up was something pointing to a GCC issue, though I could be completely wrong   roll
Anyway, it bails while building e-component-listener.lo:

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -DEVOLUTION_IMAGES="/opt/gnome/share/evolution/1.4/images" -DEVOLUTION_CATEGORY_ICONS="/opt/gnome/share/evolution/1.4/images/categories" -DG_LOG_DOMAIN="e-utils" -I/var/abs/extra/network/evolution/db3/include/ -DORBIT2=1 -pthread -I/opt/gnome/include/gconf/2 -I/opt/gnome/include/orbit-2.0 -I/opt/gnome/include/libbonoboui-2.0 -I/opt/gnome/include/libbonobo-2.0 -I/opt/gnome/include/libgnomecanvas-2.0 -I/opt/gnome/include/libgnome-2.0 -I/opt/gnome/include/bonobo-activation-2.0 -I/opt/gnome/include/gnome-vfs-2.0 -I/opt/gnome/lib/gnome-vfs-2.0/include -I/opt/gnome/include/gal-2.0 -I/opt/gnome/include/libgnomeprint-2.2 -I/opt/gnome/include/libgnomeui-2.0 -I/opt/gnome/include/soup-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/libart-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/libglade-2.0 -march=i686 -O2 -pipe -Wall -Wmissing-prototypes -c e-component-listener.c  -fPIC -DPIC -o .libs/e-component-listener.lo
e-component-listener.c: In function `connection_listen_cb':
e-component-listener.c:56: error: label at end of compound statement
make[3]: *** [e-component-listener.lo] Error 1
make[3]: Leaving directory `/var/abs/extra/network/evolution/src/evolution-1.4.6/e-util'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/abs/extra/network/evolution/src/evolution-1.4.6/e-util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/abs/extra/network/evolution/src/evolution-1.4.6'
make: *** [all-recursive-am] Error 2
==> ERROR: Build Failed.  Aborting...

Sorry, don't have the skills to resolve this one, anyone have any ideas or patches?

Thanks for any assistance!   big_smile


-----
CSH-9999

Offline

#2 2004-06-08 20:13:46

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: Evolution GCC error: label at end of compound statement

not being too familiar with  which language it is programmed in i would assume that  the evolution code, at the point that throws the error, is breaking new coding standards set down in gcc 3.4. you could try looking online for that error and possible solutions. or find out what the new rules are and patch the error in the code.


AKA uknowme

I am not your friend

Offline

#3 2004-06-08 20:50:30

Xentac
Forum Fellow
From: Victoria, BC
Registered: 2003-01-17
Posts: 1,797
Website

Re: Evolution GCC error: label at end of compound statement

Line 56 needs a semicolon at the end of the label.  It's a gcc 3.4 thing.


I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal

Offline

#4 2004-06-08 21:47:56

CSH-9999
Member
Registered: 2004-03-10
Posts: 18

Re: Evolution GCC error: label at end of compound statement

every line that looks to need a semicolon has one, and I would have expected an error more along the line of '... missing ';' at line nn ... ' usually around an end brace.

here's the code for s&g:

36 static void
37 connection_listen_cb (gpointer object, gpointer user_data)
38 {
39        GList *l, *next = NULL;
40        EComponentListener *cl;
41
42        for (l = watched_connections; l != NULL; l = next) {
43                next = l->next;
44                cl = l->data;
45
46                switch (ORBit_small_get_connection_status (cl->priv->component)) {
47                case ORBIT_CONNECTION_DISCONNECTED :
48                        watched_connections = g_list_delete_link (watched_connections, l);
49
50                        g_object_ref (cl);
51                        g_signal_emit (cl, comp_listener_signals[COMPONENT_DIED], 0);
52                        cl->priv->component = CORBA_OBJECT_NIL;
53                        g_object_unref (cl);
54                        break;
55                 default :
56                 }      // < --- point of error
57         }
58 }

I'll spend more time looking into it at home tonight.


-----
CSH-9999

Offline

#5 2004-06-08 22:28:42

Xentac
Forum Fellow
From: Victoria, BC
Registered: 2003-01-17
Posts: 1,797
Website

Re: Evolution GCC error: label at end of compound statement

default is a label.  You need a semicolon after that.  Though, strictly speaking, it should be a break;


I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal

Offline

#6 2004-06-08 22:31:42

olly-bh
Member
Registered: 2004-04-22
Posts: 14

Re: Evolution GCC error: label at end of compound statement

This is a gcc 3.4 thing.  From the changelog:

The undocumented extension that allowed C programs to have a label at the end of a compound statement, which has been deprecated since GCC 3.0, has been removed.

What this means is that the default: statement at the end of connection_listen_cb needs a statement after it - add a new line break; which will do absolutely nothing but means the code will compile.

- olly

Offline

#7 2004-06-08 23:01:56

CSH-9999
Member
Registered: 2004-03-10
Posts: 18

Re: Evolution GCC error: label at end of compound statement

Oh :oops:  duh. Guess I didn't read enough
I'll give that a try.

I really need to take a class in this.


-----
CSH-9999

Offline

#8 2004-06-08 23:18:03

CSH-9999
Member
Registered: 2004-03-10
Posts: 18

Re: Evolution GCC error: label at end of compound statement

Well it got past that error, thanks all! It did end up failing later on with a different error which I'll look into. But it made it past the main one!

Thanks again!  big_smile


-----
CSH-9999

Offline

Board footer

Powered by FluxBB