On Mon, 2010-05-31 at 21:14 +0100, Patrick Ohly wrote:
On Mon, 2010-05-31 at 13:38 +0100, Peter Robinson wrote:
> On Mon, May 31, 2010 at 1:19 PM, Patrick Ohly <patrick.ohly(a)intel.com> wrote:
> > On Mon, 2010-05-31 at 12:48 +0100, Peter Robinson wrote:
> >> Firstly syncevolution doesn't compile against the latest evolution
> >> 2.31.x releases. I believe this is due to some changes in libcamel in
> >> preparation for evolution 3.0.
> >
> > SyncEvolution doesn't include anything from libcamel. Can you quote an
> > error message?
>
> Actually on closer look it might be changes in gtk and not evolution.
> My bad, sorry.
>
>
http://koji.fedoraproject.org/koji/getfile?taskID=2210957&name=build.log
That points towards unistd.h:
sync-ui.c:2905: error: conflicting types for 'sync'
/usr/include/unistd.h:986: note: previous declaration of 'sync' was here
What is in line 986?
Eh, "void sync(void)" of course. I've applied the patch.
> I'll do so as best as I can. The following crash dumps look
to be the
> most complete. If they don't have what's needed I'll look at what I
> can do to get you a more complete one.
>
>
https://bugzilla.redhat.com/attachment.cgi?id=418008
>
https://bugzilla.redhat.com/attachment.cgi?id=418102
>
https://bugzilla.redhat.com/attachment.cgi?id=418228
All of that confirms that the "error" pointer wasn't set correctly. But
why? This needs to be checked with valgrind and gdb and looking at the
dbus library call prior to the failure.
Any update on that?
Note that what I said earlier about "error" not set is not quite right.
It is wrong in internal_bus_get(), but was still sane in
g_dbus_setup_bus():
#1 0x00000033b800b4f7 in internal_bus_get (type=DBUS_BUS_SESSION,
private=0,
error=0x1) at dbus-bus.c:435
address = <value optimized out>
connection = <value optimized out>
bd = <value optimized out>
address_type = <value optimized out>
__FUNCTION__ = "internal_bus_get"
#2 0x00007f443dd551d1 in g_dbus_setup_bus (type=DBUS_BUS_SYSTEM, name=0x0,
error=0x33b802ec98) at mainloop.c:458
connection = <value optimized out>
This is the source code:
DBusConnection *g_dbus_setup_bus(DBusBusType type, const char *name,
gboolean unshared,
DBusError *error)
{
DBusConnection *connection;
DBG("type %d name %s error %p", type, name, error);
connection = unshared ? dbus_bus_get_private(type, error) :
dbus_bus_get(type, error);
There's really no chance in the C source code to mangle "error". Must
happen inside the compiler generated code or in the dbus functions.
Again, valgrind might show something.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.