[SyncEvolution] local sync
by Patrick Ohly
Hello!
Let me write down some thoughts on local sync. With that I mean
synchronization of databases which are accessed locally with
SyncEvolution backends. This is in contrast to "normal" sync, where one
side is covered by a backend and the other side is a SyncML peer (client
or server).
Right now, the only way to do this is to setup syncevo-dbus-server
+syncevo-http-server on one side and syncevolution --daemon=no on the
other. Two peers need to be configured.
We could simplify the configuration as follows. In the normal, @default
context we define the main databases to be used, for example Evolution.
No change compared to what is done so far. For those not familiar with
the concept, a "context" holds a set of peer-independent source settings
(like which backend and database are used for each source like
"addressbook").
In another context, say @xmlrpc, we define a sources that accesses
different data via some other backend, like the XMLRPC interface. Let's
assume we have one source defined, like "calendar".
Now we configure one peer "xmlrpc" in the @default context:
syncURL = local
peerIsClient = 1
[calendar]
URI = calendar@xmlrpc
When we run a sync, we treat one side as the "SyncML server" and the
other as "SyncML client". For performance reasons (more operations done
there) it is desirable to have the truly local data being used by the
server side.
In terms of logging, one option is to use one session directory like
this:
xmlrpc-2010-06-17-13-00:
calendar.after
calendar.before
calendar(a)xmlrpc.after
calendar(a)xmlrpc.before
syncevolution-log.html
syncevolution-log_trm001_001_outgoing.xml
...
syncevolution-log(a)xmlrpc_trm001_001_outgoing.xml
status.ini
status(a)xmlrpc.ini
This requires a lot of changes, both for writing it like this and for
accessing the information about the @xmlrpc status and backups. It
probably cannot be done without D-Bus API extensions and new command
line options.
The simpler solution is to have two session directories, one for the
server (xmlrpc-2010-06-17-13-00) and one for the client
(@xmlrpc-2010-06-17-13-00).
When running a sync with the @xmlrpc calendar source as client, some way
of storing persistent state is needed. Normally this is done via the
per-peer .internal.ini file. The @xmlrpc context doesn't have per-peer
directories, but we could put the file into the @default configuration
tree as peers/xmlrpc/sources/calendar/.internal-calendar(a)xmlrpc.ini,
where calendar@xmlrpc is the URI of the pseudo-peer. That allows
changing that parameter without accidentally running a sync with the
wrong change tracking state. Removing the xmlrpc@default config would
also remove this file.
Now regarding actually running two sync sessions. One option is to put
the server into the syncevo-dbus-server (as it is now) and the other
into a forked process. The advantages of this solution are:
* allows using backends with conflicting library requirements
(think KDE and Evolution with different setup of glib/libical,
etc)
* a crash on one side can be detected by the other
* no need to get rid of global variables (there are a few, related
to logging and finding the context inside Synthesis plugins)
* no need to change signal and event handling
Drawbacks:
* we are forced to serialize messages and exchange it via IPC
mechanisms (sockets, shared memory); inside the same address
space we at least have the option of skipping SyncML message
encoding/decoding if and when the libsynthesis engine gets
refactored to pass changes in its internal format directly back
and forth
* cannot write one common log file
The other option is to run everything inside the same process and do a
global context switch between the two sides.
Currently I favor the idea of using two processes, mostly because it
requires less rewriting of code.
Loading conflicting backends would require further changes, because
right now *all* backends are loaded to register them. Splitting backends
into a general-purpose registry library and the actual implementation
would be possible, or we could go for the more traditional method of
defining backends in text files.
I'll let this idea sit for a while, but might come back to it soon.
--
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.
11 years, 9 months
[SyncEvolution] error 10510
by Patrick Hendriks
Hello,
I'm trying to sync Evolution with Funambol server.
I installed Ubuntu 10.04 a few weeks ago. With Ubuntu 09.10 syncing
worked perfectly. I used Genesis with SyncEvolution to sync with
Funambol server. Also my Blackberry synced with the Funambol server. No
problem until I installed Ubuntu 10.04.
At this time I'm getting errors when trying to sync Evolution with
Funambol server. Error 10510 is displayed in de sync-ui interface. Doing
a slow sync does not help. I also tried to sync with Scheduleworld, but
I'm getting the same error.
I think there is something wrong with my Evolution data, but I can not
find out what. Can you please help me in getting SyncEvolution work?
Regards,
Patrick
11 years, 9 months
Re: [SyncEvolution] Please help - restore from backup syncevolution
by Suyog
Hi,
I was finally able to get this resolved after bit of tweaking and
understanding things more clearly.
First thing I noticed that somehow I was not having peer config for Phone
in place. Though in GUI i was able to see it but when I looked into
/home/suyog/.config/syncevolution/default/peers ,� i could not see config
named as my Phone(Nokia E52)
So I first created this peer config with syncevolution --template Nokia
S60 Nokia E52 command
Once peer was created , I changed config.ini file for each
source(Addressbook, calendar+todo, memo).
I set Sync = refresh-from-server� , this allowed me to write
Evolution(server) data to phone.
This worked very well, and I had all data back in Phone, Many Thanks for
saving the day for me.
Once, This was working I tried to check Evolution sync with Ovi.com. I
created again peer for this with command
syncevolution --template Ovi Ovi
Since I had already lost all data on Ovi.com, i decided to send all data
from Evolution to ovi.com
I put my Ovi username and special sync password.
I noted that Notes(memo) was disabled.Addressbook, calendar+todo was
available.
I set sync direction as "send changes to ovi"
This worked perfectly for Addressbook, todos but Birthdays/Anniversary in
calendar failed to ovi.com, no error also. other events in calendar get
to ovi.com without any issue.
Then I tried Notes which also failed. I guess you know "notes" problem
that's why may be you have disabled it in template.
So overall I am really happy with this. I am able to quickly change peers
in GUI and sync with phone over bluetooth or with Ovi.com over
internet(HTTP)
This type of functionality for Ovi.com is just not available right now
with Ovi suite also(which only syncs contacts from phone<->Outlook<->Ovi
Suite<->Ovi.com) I doesnt support calendar or todos yet.
I will try to do more detailed testing and report my findings to MeeGo
tracker.
Best Regards,
Suyog
----- Original message -----
From: "Suyog" <suyog(a)ovi.com>
To: "Zhu, Yongsheng" <yongsheng.zhu(a)intel.com>
cc: "syncevolution@syncevolution.org"
<syncevolution(a)syncevolution.org>
Subject: Re: RE: RE: Please help - restore from backup syncevolution
Date: Wed, 28 Jul 2010 18:22:35 +0530
Many Thanks to earlier email from Yongsheng. I was able to restore data
to�
Evolution and can see it. :)
But now for some reason,I am not able to write it to phone or ovi. Though
i
t syncs ,no data is being transefered to phone or ovi.com.
I tried fix emergency option which allows option to delete remote
data(phon
e over BT or ovi.com) but it still doesnt work.any clue as what may be
wrong�here?
Best Regards,
Suyog
Sent from my Nokia E52 phone
http://messaging.nokia.com
> ----- Original message -----
> From: "Patrick Ohly" <patrick.ohly(a)intel.com>
> To: "Zhu, Yongsheng" <yongsheng.zhu(a)intel.com>
> cc: "Suyog" <suyog(a)ovi.com>, "syncevolution@syncevolution.org"
<syncevolution(a)syncevolution.org>
> Subject: RE: RE: Please help - restore from backup syncevolution
> Date: Wed, 28 Jul 2010 10:17:26 +0200
>
>
>On Wed, 2010-07-28 at 07:50 +0100, Zhu, Yongsheng wrote:
> > -- do i need to specify full path of directory(as I have done), and
> > it needs to be enclosed in < > ?
> > Yes, full path of directory is ok. But no need of “<” and
“>”.
> >
> > -- is template name "nokias60" or "Nokia S60" , In GUI drop down it
> > shows as "Nokia S60"
> > I think it shouldn’t be template name. It should be config name.
> > Because the config contains the information about where to restore
> > the data(such as evolution).
> > '--restore' option is used to restore the data saved before or
> > after a sync to your local database, like evolution. So make sure
> > you have a config which specify the database you want to restore
> > to. 1) syncevolution --template Ovi myovi #create a
> > template, its default database is evolution
> > 2) syncevolution --restore
> > /home/suyog/.cache/syncevolution/virus-2010-07-28-01-13 --before
> > myovi memo #restore data from 'virus-2010-07-28-01-13' to your
> > evolution specified by config 'myovi'
> > *warning: please remember that your memo of your evolution will be
> > overwritten by the memos in your
> > "/home/suyog/.cache/syncevolution/virus-2010-07-28-01-13" once
> > using '--restore' command.
>
> Also, if unsure about what --restore will do, run it in combination
with
> --dry-run first and it'll tell you what it would do without actually
> modifying any data.
>
> --
> 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.
>
--------------------------------------------------------------
Ovi Mail: Making email access easy
http://mail.ovi.com
11 years, 9 months
Re: [SyncEvolution] Please help - restore from backup syncevolution
by Suyog
Many Thanks to earlier email from Yongsheng. I was able to restore data
to�
Evolution and can see it. :)
But now for some reason,I am not able to write it to phone or ovi. Though
i
t syncs ,no data is being transefered to phone or ovi.com.
I tried fix emergency option which allows option to delete remote
data(phon
e over BT or ovi.com) but it still doesnt work.any clue as what may be
wrong�here?
Best Regards,
Suyog
Sent from my Nokia E52 phone
http://messaging.nokia.com
> ----- Original message -----
> From: "Patrick Ohly" <patrick.ohly(a)intel.com>
> To: "Zhu, Yongsheng" <yongsheng.zhu(a)intel.com>
> cc: "Suyog" <suyog(a)ovi.com>, "syncevolution@syncevolution.org"
<syncevolution(a)syncevolution.org>
> Subject: RE: RE: Please help - restore from backup syncevolution
> Date: Wed, 28 Jul 2010 10:17:26 +0200
>
>
>On Wed, 2010-07-28 at 07:50 +0100, Zhu, Yongsheng wrote:
> > -- do i need to specify full path of directory(as I have done), and
> > it needs to be enclosed in < > ?
> > Yes, full path of directory is ok. But no need of “<” and
“>”.
> >
> > -- is template name "nokias60" or "Nokia S60" , In GUI drop down it
> > shows as "Nokia S60"
> > I think it shouldn’t be template name. It should be config name.
> > Because the config contains the information about where to restore
> > the data(such as evolution).
> > '--restore' option is used to restore the data saved before or
> > after a sync to your local database, like evolution. So make sure
> > you have a config which specify the database you want to restore
> > to. 1) syncevolution --template Ovi myovi #create a
> > template, its default database is evolution
> > 2) syncevolution --restore
> > /home/suyog/.cache/syncevolution/virus-2010-07-28-01-13 --before
> > myovi memo #restore data from 'virus-2010-07-28-01-13' to your
> > evolution specified by config 'myovi'
> > *warning: please remember that your memo of your evolution will be
> > overwritten by the memos in your
> > "/home/suyog/.cache/syncevolution/virus-2010-07-28-01-13" once
> > using '--restore' command.
>
> Also, if unsure about what --restore will do, run it in combination
with
> --dry-run first and it'll tell you what it would do without actually
> modifying any data.
>
> --
> 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.
>
--------------------------------------------------------------
Ovi Mail: Making email access easy
http://mail.ovi.com
11 years, 9 months
Re: [SyncEvolution] Please help - restore from backup syncevolution
by Suyog
> syncevolution --restore
</home/suyog/.cache/syncevolution/virus-2010-07-28-01-13> --before
--dry-run "nokias60" memo
>Please don’t use the ‘—dry-run’ option to restore . This
option is used to try the command without doing any changes. This
command will restore the data stored in that directory to your local
PC(evolution).
�
I tried above command without "--dry-run" but nothing happened. Data
was not restored to Evolution. I cant not see log directory also
being created for this.Please confirm if I am using correct syntax
here.
-- do i need to specify full path of directory(as I have done), and
it needs to be enclosed in < > ?
-- is template name "nokias60" or "Nokia S60" , In GUI drop down it
shows as "Nokia S60"
Your quick reply will be highly appreciated.
Best Regards,
Suyog
�
From:Suyog [mailto:suyog@ovi.com]
Sent: Wednesday, July 28, 2010 5:03 AM
To: Ohly, Patrick
Cc: syncevolution(a)syncevolution.org; congwu.chen(a)intel.com
Subject: Please help - restore from backup syncevolution
�
Patrick,
Today I had very bad day with sync, initially normal sync from my
Nokia E52 with ovi.com messed up many contacts with numbers from
different contacts getting into different people.
So i decided to clean phone, ovi.com and restore from PC. Then I did
sync with phone and PC with Ovi.com
Somehow I forgot to set sync direction for Notes and Notes were
deleted from both phone and PC(Outlook)
I still have contacts, Calendar but not sure if it's all well.
So my only reliable data was in Evolution which I had synced few days
back. I decided to try that with syncevolution on bluetooth. To be on
safer side I decided to start with calendar+todos and memo(notes)
Since I wanted to restore these to my phone, I had disabled "receive
changes from phone" but when i did sync it was completed with no
change log in main screen. But I found that now data was gone from
both phone and Evolution. I thought as if I lost everything. But then
i released that there is some backup.
When I checked log directory, i indeed found that before/after states
being recorded for each sync. I then tried your suggestion as in
following link.
http://www.mail-archive.com/syncevolution@syncevolution.org/msg01286.html
But it didnt help. actually i couldnt understand it to be honest.
could you please help me here? I am attaching my screenshots of log
directory. Please let me know how to enter command.
i want to restore before states in directory� virus-2010-07-28-01-13,
i tried in following command with memo
but when i used this command nothing happened
syncevolution --restore
</home/suyog/.cache/syncevolution/virus-2010-07-28-01-13> --before
--dry-run "nokias60" memo
Also in syncevolution GUI , i cant see any backup which i can
restore. see screenshot attached.
Could you please help me? I am really in trouble as I have lost all
notes, calendar, contacts and Evolution logs are only last hope.
Best Regards,
Suyog
-------------------------------------------------------------- Ovi
Mail: Making email access easy
http://mail.ovi.com
�
--------------------------------------------------------------
Ovi Mail: Making email access easy
http://mail.ovi.com
11 years, 9 months
[SyncEvolution] Please help - restore from backup syncevolution
by Suyog
Patrick,
Today I had very bad day with sync, initially normal sync from my Nokia
E52 with ovi.com messed up many contacts with numbers from different
contacts getting into different people.
So i decided to clean phone, ovi.com and restore from PC. Then I did sync
with phone and PC with Ovi.com
Somehow I forgot to set sync direction for Notes and Notes were deleted
from both phone and PC(Outlook)
I still have contacts, Calendar but not sure if it's all well.
So my only reliable data was in Evolution which I had synced few days
back. I decided to try that with syncevolution on bluetooth. To be on
safer side I decided to start with calendar+todos and memo(notes)
Since I wanted to restore these to my phone, I had disabled "receive
changes from phone" but when i did sync it was completed with no change
log in main screen. But I found that now data was gone from both phone
and Evolution. I thought as if I lost everything. But then i released
that there is some backup.
When I checked log directory, i indeed found that before/after states
being recorded for each sync. I then tried your suggestion as in
following link.
http://www.mail-archive.com/syncevolution@syncevolution.org/msg01286.html
But it didnt help. actually i couldnt understand it to be honest. could
you please help me here? I am attaching my screenshots of log directory.
Please let me know how to enter command.
i want to restore before states in directory� virus-2010-07-28-01-13, i
tried in following command with memo
but when i used this command nothing happened
syncevolution --restore
</home/suyog/.cache/syncevolution/virus-2010-07-28-01-13> --before
--dry-run "nokias60" memo
Also in syncevolution GUI , i cant see any backup which i can restore.
see screenshot attached.
Could you please help me? I am really in trouble as I have lost all
notes, calendar, contacts and Evolution logs are only last hope.
Best Regards,
Suyog
--------------------------------------------------------------
Ovi Mail: Making email access easy
http://mail.ovi.com
11 years, 9 months
[SyncEvolution] Google Calendar sync
by Patrick Ohly
Hello!
As those who have tried the "google" config template know, only contact
synchronization over SyncML works, because that is all that Google
supports. Those who want to synchronize their Google calendar have to
use third-party bridges to that data (ScheduleWorld, Goosync).
http://bugzilla.meego.com/show_bug.cgi?id=319
A "native" solution would be to access the Google calendar via CalDAV. I
gave that a try, using the Evolution Data Server CalDAV/Google backend
as implementation of the protocol. In theory, this should have worked
out-of-the-box with SyncEvolution, although setting it up would be
fairly complex:
* set up syncevo-http-server to access Google calendar
* set up a client config to access the normal local calendar and
syncevo-http-server
* run command line with "--daemon=no", because that is currently
the only way how we can have SyncML client and server on the
same host
In practice I ran into several problems which makes this approach
unusable right now. For those who are interested in details, below is a
description of the problems.
My conclusion right now is:
1. We need a better solution for backend A<->backend B syncs (I
sometimes call that "local sync").
2. We should better write a CalDAV backend instead of relying on
EDS. Not only will that avoid the issues below (which could be
fixed), such a backend would also be useful for users not
interested in running EDS and perform better. I'm assuming here
that CalDAV has functionality that would helps us (like
efficient listing of all items) which we can't use when going
through EDS because it doesn't have corresponding APIs.
Any CalDAV experts or volunteers around? The second task could be
started already with the current code base. If no-one volunteers, then
it'll end up on the backlog of feature requests.
-------------------------------------------
Here's how I set up testing:
* create two test calendars in Google
* create the same calendars in Evolution, using Google_ical20_1
and Google_ical20_2 as names (naming expected by client-test,
setting the evolutionsource property to the right caldav:// URL
should work without creating the calendars in Evolution)
* run CLIENT_TEST_EVOLUTION_PASSWORD=<password>
CLIENT_TEST_EVOLUTION_PREFIX=Google_ ./client-test
Client::Source::ical20
First problem: our test data uses a UID with special characters, because
that happens to break "dumb" XML encoders/decoders and we want to find
such issues. It also breaks the EDS backend. It can create such an
event, but then cannot access it because the UID becomes of a URL used
by WebDAV, and these special characters are not escaped there (seen in
evolution-data-server console output).
As a workaround, I simplified the test data to not use such a
complicated UID when CLIENT_TEST_SIMPLE_UID=1 is set.
Still no luck. client-test can create an item, but then retrieving it
fails. The root cause for that is the backend's implementation of
e_cal_create_object(). It should return the ID assigned to the new
object, but for the WebDAV EDS backend it returns an empty string
instead of the correct ID. Iterating over all objects later shows that
the ID is something like http://www.google.com/calendar/feeds/<unique ID
of calendar>%
40group.calendar.google.com/private/full/jjs14jjurojsoi7koo3op1vq3g
Even if e_cal_create_object() worked, we wouldn't trust it in
SyncEvolution, because it was broken in the past. From the code:
// creating new objects works for normal events and detached occurrences alike
if(e_cal_create_object(m_calendar, subcomp, (char **)&uid, &gerror)) {
// Evolution workaround: don't rely on uid being set if we already had
// one. In Evolution 2.12.1 it was set to garbage. The recurrence ID
// shouldn't have changed either.
ItemID newid(!id.m_uid.empty() ? id.m_uid : uid, id.m_rid);
newluid = newid.getLUID();
modTime = getItemModTime(newid);
m_allLUIDs.insert(newluid);
}
In other words, when a VEVENT has a UID, we use that as local ID. That's
the best we can do, because the "garbage" really is a random pointer as
far as I remember, so we cannot use it at all.
--
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.
11 years, 9 months
[SyncEvolution] SyncEvolution 1.0.1 released
by Patrick Ohly
SyncEvolution 1.0.1
===================
A bug fix release. The main reason for releasing it is that
SyncEvolution 1.0 no longer worked on recent distros (Fedora Core 13,
Debian testing) because of a name clash between the Bluez D-Bus
utility code and recent glib.
Details:
* compile fix for FC 13 (and possibly others): use private copy of gdbus (BMC #3556)
* sync-ui: prevent overwriting device configs by accident (MBC #3566,1194)
Setting up a phone used the template name as config name and overwrote
an existing configuration of another phone that was created using that
same template. Now the code uses the Bluetooth device name as set on the
device and checks for (less likely) collisions. It also sanitizes the
name to avoid complicated config names (only relevant when also using
the command line).
* syncevo-dbus-server: accept 'application/vnd.syncml+xml; charset=UTF-8' for starting an HTTP session (BMC #3554)
The redundant charset specification was set by the Funambol
Thunderbird client. Because of a literal comparison against
'application/vnd.syncml+xml' the messages were rejected.
* config fix: operations on non-peer configs failed (BMC #3157)
When running operations on a non-peer configuration (like --restore @default
addressbook), the operation fails with
[ERROR] <source name>: type 'select backend' not supported
* ZYB.com: service goes away end of June 2010, template removed (BMC #3310)
* some build (BMC #2586, BMC #3557) and language updates
Source, Installation, Further information
=========================================
Source snapshots are in
http://downloads.syncevolution.org/syncevolution/sources
i386, amd64 and lpia binaries of 1.0 for Debian-based distributions are
available via the "stable" syncevolution.org repository. Add the
following entry to your /apt/source.list, then install
"syncevolution-evolution":
<code>
deb http://downloads.syncevolution.org/apt stable main
</code>
These binaries include the "sync-ui" GTK GUI and were compiled for
Ubuntu 8.04 LTS (Hardy). Older distributions like Debian 4.0 (Etch) can
no longer be supported with precompiled binaries because of missing
libraries, but the source still compiles when not enabling the GUI (the
default).
The same binaries are also available as .tar.gz and .rpm archives in
http://downloads.syncevolution.org/syncevolution/evolution. In contrast
to 0.8.x archives, the 1.0 .tar.gz archives have to be unpacked and the
content must be moved to /usr, because several files would not be found
otherwise.
After installation, follow the
http://syncevolution.org/documentation/getting-started steps.
11 years, 10 months
[SyncEvolution] SyncEvolution 1.0.1 in preparation
by Patrick Ohly
Hello!
The library conflict with Fedora Core 13 [1] and (more recently) also
Debian unstable/testing is serious enough to push out a 1.0.1 minor
update. It's tagged and currently goes through the nightly build and
testing. I'm a bit in a hurry because tomorrow starts my vacation and
I'll be mostly away from computers - yeah! ;-)
Before I announce it, can someone install the .rpms on FC 13 and test
that SyncEvolution then starts to work again? I uploaded them to:
http://downloads.syncevolution.org/tmp/
Other changes (from the NEWS file):
* compile fix for FC 13 (and possibly others): use private copy of gdbus (BMC #3556)
* sync-ui: prevent overwriting device configs by accident (MBC #3566,1194)
Setting up a phone used the template name as config name and overwrote
an existing configuration of another phone that was created using that
same template. Now the code uses the Bluetooth device name as set on the
device and checks for (less likely) collisions. It also sanitizes the
name to avoid complicated config names (only relevant when also using
the command line).
* syncevo-dbus-server: accept 'application/vnd.syncml+xml; charset=UTF-8' for starting an HTTP session (BMC #3554)
The redundant charset specification was set by the Funambol
Thunderbird client. Because of a literal comparison against
'application/vnd.syncml+xml' the messages were rejected.
* config fix: operations on non-peer configs failed (BMC #3157)
When running operations on a non-peer configuration (like --restore @default
addressbook), the operation fails with
[ERROR] <source name>: type 'select backend' not supported
* ZYB.com: service goes away end of June 2010, template removed (BMC #3310)
* some build (BMC #2586, BMC #3557) and language updates
[1] http://bugs.meego.com/show_bug.cgi?id=3556
https://bugzilla.redhat.com/show_bug.cgi?id=606647
--
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.
11 years, 10 months
Re: [SyncEvolution] build regression
by Patrick Ohly
On Thu, 2010-07-15 at 10:57 +0100, Sascha Peilicke wrote:
> On Thursday 15 July 2010 11:51:52 you wrote:
> > On Thu, 2010-07-15 at 10:37 +0100, Sascha Peilicke wrote:
> > > ObexTransportAgent.cpp:34:29: fatal error: glib/giochannel.h: No such
> > > file or directory compilation terminated.
> >
> > Where is glib/giochannel.h installed? What is the g++ invocation?
> /usr/include/glib-2.0/glib/giochannel.h
>
> Funnily enough, if I include only glib.h in ObexTransportAgent.cpp it isn't
> found either.
>
> libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -
> I/home/saschpe/projects/c_cpp/SyncEvolution/syncevolution/src/build-
> synthesis/src -I/usr/include -I/usr/include/KDE -I/usr/include/qt4 -
> I../../test -I../../src -
> DSYNCEVO_BACKEND=\"/usr/local/lib/syncevolution/backends/\" -
> DXML_CONFIG_DIR=\"/usr/local/share/syncevolution/xml\" -
> DTEMPLATE_DIR=\"/usr/local/share/syncevolution/templates\" -
> DLIBDIR=\"/usr/local/lib\" -
> I/home/saschpe/projects/c_cpp/SyncEvolution/syncevolution/src/build-
> synthesis/src -g -MT libsyncevolution_la-ObexTransportAgent.lo -MD -MP -MF
> .deps/libsyncevolution_la-ObexTransportAgent.Tpo -c ObexTransportAgent.cpp -o
> libsyncevolution_la-ObexTransportAgent.o
Are you perhaps:
* not enabling D-Bus (no --enable-dbus-service) and
* disabling EDS (--disable-ecal --disable-ebook)
* and not using the latest sources from master?
There was a bug in configure that it didn't check for glib in this
combination, which is fixed on master. Your configure-pre.in should
contain:
# SoupTransportAgent depends on glib
case "$TRANSPORT" in *libsoup*) need_glib=yes;; esac
Or perhaps you are no longer using libsoup?
I just realize that the OBEX transport does not declare its dependency
on glib either. So underneath the line
AC_DEFINE(ENABLE_OBEX, 1, [define if openobex library is available])
there should be a
need_glib=yes
Does that help?
--
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.
11 years, 10 months