Re: [Evolution-hackers] libdb performance issue? (was: Re: libebook: errors when using asynchronous contact addition/removal functions)

2011-05-16 Thread Milan Crha
On Fri, 2011-05-13 at 15:44 +0200, Patrick Ohly wrote:
 In libebook, I get a Timeout was reached because the asynchronous
 operation doesn't complete quickly enough. Same for the attempt to
 delete the contacts. The gError-code is 24, which is indeed
 E_BOOK_ERROR_NOT_SUPPORTED. 

Hi,
as long as it's GError, you cannot compare only GError::code, because
the correct way to identify the error is using the whole pair
GError::domain and GError::code. Your domain for Timeout was reached
is most likely G_IO_ERROR with a code G_IO_ERROR_TIMED_OUT. This means,
for GDBus calls, that the call didn't finish in a default time, the
server side didn't reply to the method invocation on time. (As Patrick
suggested too).

The new eclient stuff will not suffer of this (unless some backend will
block main thread for too long). As a workaround, in 3.0, was added
e_data_server_util_set_dbus_call_timeout(), which can be called by
clients.

I've no idea about libdb, thus only referring to the error. I have one
notice though, the EBook calls are served and processed mostly as soon
as they come, and they can come in parallel too. The backend itself
may make sure that it'll not make any trouble, like by some busy lock.
The sync calendar backend does this differently, it has a flag for using
such internal busy lock, thus no call can overlap with another, if the
backend implementation wishes to do so. I guess this kind of
functionality might be useful when added to EBookBackendSync too.
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] e_cal_remove_object_with_mod() + empty rid: semantic?

2011-05-16 Thread Milan Crha
On Thu, 2011-05-12 at 12:44 +0200, Patrick Ohly wrote:
 I found this in e-data-cal-view.c notify_remove():
 
 280   /* TODO: store ECalComponentId instead of just uid*/
 281   uid = g_strdup (id-uid);
 282   g_array_append_val (priv-removes, uid);
 
 In other words, removes always come without rid, even if the actual
 event that was removed was not the parent but a detached recurrence.
 ...
 It'll lead to a change of the D-Bus API. For master that shouldn't
 be a problem, but I also want this in MeeGo for KCal-EDS, based on
 2.32. I guess we have to bite the bullet and maintain a MeeGo version
 with a different API than regular 2.32.x.

Hi,
I noticed it too, recently (at the beginning of this week, actually).
I suggest to not change the D-Bus API, rather encode the string pair
into the string, like uid\nrid. I was planning to do so in the master
branch, but didn't do that yet.

 One more question about e_cal_backend_notify_object_removed(): it takes
 iCalendar 2.0 object strings as parameter in addition to the id. If both
 are set, it acts like object_updated. If the new object is NULL, it
 checks whether the old_object matches the view. Is that really
 necessary? There is a second check whether the ID is in the view in
 e_data_cal_view_notify_objects_removed():
 
 701   for (l = ids; l; l = l-next) {
 702   ECalComponentId *id = l-data;
 703   if (g_hash_table_lookup (priv-ids, id))
 704   notify_remove (view, id);
 705   }
 
 At least that is my understanding. So is it safe to pass only the ID and
 old_object = object = NULL?

You can pass both NULL if the old_object was completely removed. The
call if the object matches the view was kept there in time when the test
for !old_object was added. I do not recall exact circumstances, but I
think there was some rationale why it is so, though looking at it the
call of e_data_cal_view_object_matches() in
e_cal_backend_notify_object_removed() really seems unnecessary. Maybe it
was because of no expectations on the behaviour of
e_data_cal_view_notify_objects_removed_1().
Hope that helps a bit,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Compile Evolution-Mapi 3.1.1 - Error on libmapi.h

2011-05-16 Thread Milan Crha
On Sun, 2011-05-15 at 22:39 -0700, tudstudent wrote:
 ...
 When compiling evolution-mapi-3.1.1 I get stuck with the following error:
 ...
 exchange-mapi-connection.c: In function
 'exchange_mapi_util_get_attachments':
 exchange-mapi-connection.c:1272:5: warning: passing argument 2 of
 'cast_SPropValue' from incompatible pointer type
 /usr/include/libmapi/libmapi.h:262:11: note: expected 'struct
 mapi_SPropValue *' but argument is of type 'struct SPropValue *'
 exchange-mapi-connection.c:1272:5: error: too few arguments to function
 'cast_SPropValue'
 /usr/include/libmapi/libmapi.h:262:11: note: declared here
 ...
 The file libmapi.h is present and is from the latest openchange (0.10).

Hi,
is it possible you've installed two different libmapi.h or openchange
versions, thus the configure part was done against a different
openchange version? The 3.1.x, same as 3.0.x and couple versions before,
has conditional compilations for detecting when to use what, and this
API change is part of this detection. Could you check what has your
config.h and config.log in the evo-mapi build directory and what
signature the cast_SPropValue function of libmapi.h is, please?
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Compile Evolution-Mapi 3.1.1 - Error on libmapi.h

2011-05-16 Thread tudstudent


Milan Crha wrote:
 
 On Sun, 2011-05-15 at 22:39 -0700, tudstudent wrote:
 ...
 When compiling evolution-mapi-3.1.1 I get stuck with the following error:
 ...
 exchange-mapi-connection.c: In function
 'exchange_mapi_util_get_attachments':
 exchange-mapi-connection.c:1272:5: warning: passing argument 2 of
 'cast_SPropValue' from incompatible pointer type
 /usr/include/libmapi/libmapi.h:262:11: note: expected 'struct
 mapi_SPropValue *' but argument is of type 'struct SPropValue *'
 exchange-mapi-connection.c:1272:5: error: too few arguments to function
 'cast_SPropValue'
 /usr/include/libmapi/libmapi.h:262:11: note: declared here
 ...
 The file libmapi.h is present and is from the latest openchange (0.10).
 
   Hi,
 is it possible you've installed two different libmapi.h or openchange
 versions, thus the configure part was done against a different
 openchange version? The 3.1.x, same as 3.0.x and couple versions before,
 has conditional compilations for detecting when to use what, and this
 API change is part of this detection. Could you check what has your
 config.h and config.log in the evo-mapi build directory and what
 signature the cast_SPropValue function of libmapi.h is, please?
   Bye,
   Milan
 
 ___
 evolution-hackers mailing list
 evolution-hackers@gnome.org
 To change your list options or unsubscribe, visit ...
 http://mail.gnome.org/mailman/listinfo/evolution-hackers
 
 

When I check for multiple versions of libmapi:

code
locate libmapi.h
/usr/include/libmapi/libmapi.h
/code

So I have only 1 libmapi.h installed on my system. Furthermore I have looked
into libmapi.h:

uint32_tcast_SPropValue(TALLOC_CTX *, struct mapi_SPropValue
*, struct SPropValue *);

I hope I give you correct information. I did not understand what you wanted
to have so I tried my best.
What do you want with config.log and the other (better said what do I need
to check specificly).
-- 
View this message in context: 
http://old.nabble.com/Compile-Evolution-Mapi-3.1.1--%3E-Error-on-libmapi.h-tp31626288p31626473.html
Sent from the Gnome - Evolution - Dev mailing list archive at Nabble.com.

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Compile Evolution-Mapi 3.1.1 - Error on libmapi.h

2011-05-16 Thread Milan Crha
On Sun, 2011-05-15 at 23:33 -0700, tudstudent wrote:
 So I have only 1 libmapi.h installed on my system. Furthermore I have
 looked
 into libmapi.h:
 
 uint32_tcast_SPropValue(TALLOC_CTX *, struct
 mapi_SPropValue
 *, struct SPropValue *);
 
 I hope I give you correct information. I did not understand what you
 wanted
 to have so I tried my best.
 What do you want with config.log and the other (better said what do I
 need
 to check specificly).

OK, so your openchange has the mem_ctx parameter, which makes sense.
Search the config.log file for SPropValue string. It'll give you two
checks with its description and two defines. Mine defines are:
  #define HAVE_MEMCTX_ON_CAST_SPROPVALUE 1
  #define HAVE_MEMCTX_ON_CAST_MAPI_SPROPVALUE 1
The same defines should be defined in config.h. Is it possible your
evo-mapi compilation doesn't use correct config.h? I suppose you have
those two defines defined same as I do.
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] libdb performance issue? (was: Re: libebook: errors when using asynchronous contact addition/removal functions)

2011-05-16 Thread Patrick Ohly
On Mo, 2011-05-16 at 08:11 +0200, Milan Crha wrote:
 On Fri, 2011-05-13 at 15:44 +0200, Patrick Ohly wrote:
  In libebook, I get a Timeout was reached because the asynchronous
  operation doesn't complete quickly enough. Same for the attempt to
  delete the contacts. The gError-code is 24, which is indeed
  E_BOOK_ERROR_NOT_SUPPORTED. 
 
   Hi,
 as long as it's GError, you cannot compare only GError::code, because
 the correct way to identify the error is using the whole pair
 GError::domain and GError::code. Your domain for Timeout was reached
 is most likely G_IO_ERROR with a code G_IO_ERROR_TIMED_OUT.

Indeed, that explains it. In principle I know that, I just forgot to
check in this case ;-}

 The new eclient stuff will not suffer of this (unless some backend will
 block main thread for too long).

The EClient may not time out, but taking several minutes of 100% CPU
time just to safe a handful of contacts just can't be right.

 I've no idea about libdb, thus only referring to the error. I have one
 notice though, the EBook calls are served and processed mostly as soon
 as they come, and they can come in parallel too. The backend itself
 may make sure that it'll not make any trouble, like by some busy lock.

libdb is supposed to be thread-safe, so in theory shouldn't need such a
lock. Either libdb is broken or EDS is not using it correctly (wrong
environment, for example).

Looking at the DB API [1] I see this flag for opening the environment:

DB_INIT_LOCK 

Initialize the locking subsystem. This subsystem should be used
when multiple processes or threads are going to be reading and
writing a Berkeley DB database, so that they do not interfere
with each other. If all threads are accessing the database(s)
read-only, locking is unnecessary. When the DB_INIT_LOCK flag is
specified, it is usually necessary to run a deadlock detector,
as well. See db_deadlock and DB_ENV-lock_detect() for more
information. 

EDS does not pass this flag, although it has concurrent reads *and*
writes. The behavior in that case is undefined as far as I can tell. The
downside of using DB_INIT_LOCK is that deadlocks are possible and need
to be checked by regularly calling lock_detect().

It might be easier to set DB_INIT_CDB, which enforces multiple
reads/single writer access without deadlocks. I'll give that a try.

[1] 
http://download.oracle.com/docs/cd/E17076_02/html/api_reference/C/envopen.html

-- 
Bye, Patrick Ohly
--  
patrick.o...@gmx.de
http://www.estamos.de/


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] libdb performance issue? (was: Re: libebook: errors when using asynchronous contact addition/removal functions)

2011-05-16 Thread Patrick Ohly
[Milan, can you please keep other people on CC?

I know that you personally prefer to not be CCed on mailing list emails
and I try to remember that in my own replies, but others are not on the
list and may depend on being CCed. For example, I don't know whether
Chris is subscribed.]

On Mo, 2011-05-16 at 11:12 +0200, Patrick Ohly wrote:
 It might be easier to set DB_INIT_CDB, which enforces multiple
 reads/single writer access without deadlocks. I'll give that a try.

And it works beautifully. One word added to the source code and the
stress test passes reliably and quickly :-)

Patch attached. Okay to submit into master (not tested there, though)
and gnome-2-32 branches (which is where I have tested it)?

-- 
Bye, Patrick Ohly
--  
patrick.o...@gmx.de
http://www.estamos.de/

From 2b4cff9230a049d5ad7fe86873aba9a7bba35af1 Mon Sep 17 00:00:00 2001
From: Patrick Ohly patrick.o...@intel.com
Date: Mon, 16 May 2011 11:21:04 +0200
Subject: [PATCH] addressbook file backend: libdb must be initialized for concurrent read/write

Very bad performance (100% CPU load, several minutes run time) were
seen for multiple concurrent writes. gdb shows that libdb is
apparently busy polling while writing.

The libdb API docs for DB_ENV-open() imply that either DB_INIT_CDB or
DB_INIT_LOCK must be used in apps which are not read-only, like
EDS. This patch adds DB_INIT_CDB because it is simple and fixes the
performance problem.

In some rare cases, DB_INIT_LOCK might provide better performance by
allowing concurrent writes of independent data, but that seems too
complicated for not enough gain right now (must check for deadlocks).
---
 addressbook/backends/file/e-book-backend-file.c |   13 -
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/addressbook/backends/file/e-book-backend-file.c b/addressbook/backends/file/e-book-backend-file.c
index d21c527..372ade5 100644
--- a/addressbook/backends/file/e-book-backend-file.c
+++ b/addressbook/backends/file/e-book-backend-file.c
@@ -1146,7 +1146,18 @@ e_book_backend_file_load_source (EBookBackend   *backend,
 (gpointer (*)(gpointer , gsize))g_try_realloc,
 g_free);
 
-		db_error = (*env-open) (env, NULL, DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_THREAD, 0);
+		/*
+		 * We need either DB_INIT_CDB or DB_INIT_LOCK, because we will have
+		 * multiple threads reading and writing concurrently without
+		 * any locking above libdb.
+		 *
+		 * DB_INIT_CDB enforces multiple reader/single writer by locking inside
+		 * the database. It is used instead of DB_INIT_LOCK because DB_INIT_LOCK
+		 * may deadlock, which would have to be called in a separate thread.
+		 * Considered too complicated for not enough gain (= concurrent writes)
+		 * at this point.
+		 */
+		db_error = (*env-open) (env, NULL, DB_INIT_CDB | DB_CREATE | DB_INIT_MPOOL | DB_PRIVATE | DB_THREAD, 0);
 		if (db_error != 0) {
 			env-close(env, 0);
 			g_warning (db_env_open failed with %s, db_strerror (db_error));
-- 
1.7.2.5

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] libdb performance issue? (was: Re: libebook: errors when using asynchronous contact addition/removal functions)

2011-05-16 Thread Milan Crha
On Mon, 2011-05-16 at 11:35 +0200, Patrick Ohly wrote:
 And it works beautifully. One word added to the source code and the
 stress test passes reliably and quickly :-)
 
 Patch attached. Okay to submit into master (not tested there, though)
 and gnome-2-32 branches (which is where I have tested it)?

Yes please, master, gnome-3-0 and if you want then gnome-2-32 too.
Thanks.
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Compile Evolution-Mapi 3.1.1 - Error on libmapi.h

2011-05-16 Thread tudstudent

Okey, maybe it makes sense to describe how I run the package:

./configure CFLAGS=-I/usr/lib64/samba4/include
make (which delivers me the errors)

code
configure:14060: result: no 
   
configure:14063: checking libmapi cast_SPropValue function with three params
   
configure:14078: gcc -o conftestconftest.c  5 
   
In file included from conftest.c:30:0:  
   
/usr/include/libmapi/libmapi.h:49:20: fatal error: dcerpc.h: No such file or
directory 
compilation terminated. 
   
configure:14078: $? = 1 
   
configure: failed program was:  
   
| /* confdefs.h */   
/code

code
| #include libmapi/libmapi.h  
   
| int   
   
| main ()   
   
| { 
   
| cast_SPropValue (NULL, NULL, NULL)
   
|   ;   
   
|   return 0;   
   
| } 
   
configure:14089: result: no 
   
configure:14092: checking libmapi cast_mapi_SPropValue function with three
params  
configure:14107: gcc -o conftestconftest.c  5 
   
In file included from conftest.c:30:0:  
   
/usr/include/libmapi/libmapi.h:49:20: fatal error: dcerpc.h: No such file or
directory 
compilation terminated. 
   
configure:14107: $? = 1 
   
configure: failed program was:  
   
| /* confdefs.h */  
/code



Milan Crha wrote:
 
 On Sun, 2011-05-15 at 23:33 -0700, tudstudent wrote:
 So I have only 1 libmapi.h installed on my system. Furthermore I have
 looked
 into libmapi.h:
 
 uint32_tcast_SPropValue(TALLOC_CTX *, struct
 mapi_SPropValue
 *, struct SPropValue *);
 
 I hope I give you correct information. I did not understand what you
 wanted
 to have so I tried my best.
 What do you want with config.log and the other (better said what do I
 need
 to check specificly).
 
 OK, so your openchange has the mem_ctx parameter, which makes sense.
 Search the config.log file for SPropValue string. It'll give you two
 checks with its description and two defines. Mine defines are:
   #define HAVE_MEMCTX_ON_CAST_SPROPVALUE 1
   #define HAVE_MEMCTX_ON_CAST_MAPI_SPROPVALUE 1
 The same defines should be defined in config.h. Is it possible your
 evo-mapi compilation doesn't use correct config.h? I suppose you have
 those two defines defined same as I do.
   Milan
 
 ___
 evolution-hackers mailing list
 evolution-hackers@gnome.org
 To change your list options or unsubscribe, visit ...
 http://mail.gnome.org/mailman/listinfo/evolution-hackers
 
 

-- 
View this message in context: 
http://old.nabble.com/Compile-Evolution-Mapi-3.1.1--%3E-Error-on-libmapi.h-tp31626288p31627272.html
Sent from the Gnome - Evolution - Dev mailing list archive at Nabble.com.

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Compile Evolution-Mapi 3.1.1 - Error on libmapi.h

2011-05-16 Thread Milan Crha
On Mon, 2011-05-16 at 01:45 -0700, tudstudent wrote:
 Okey, maybe it makes sense to describe how I run the package:
 
 ./configure CFLAGS=-I/usr/lib64/samba4/include
 make (which delivers me the errors)
 
 ...
 /usr/include/libmapi/libmapi.h:49:20: fatal error: dcerpc.h: No such file or

Try with these set:
export LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/samba/lib
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:
$PREFIX/samba/lib/pkgconfig:$PREFIX/share/pkgconfig

Then you might be able to get sane results when invoking:
  $ pkg-config --cflags libmapi
which should cover your -I too (by the way, it might not be in lib64).
Hope that helps,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] libdb performance issue? (was: Re: libebook: errors when using asynchronous contact addition/removal functions)

2011-05-16 Thread Patrick Ohly
On Mo, 2011-05-16 at 13:05 +0200, Milan Crha wrote:
 On Mon, 2011-05-16 at 11:35 +0200, Patrick Ohly wrote:
  And it works beautifully. One word added to the source code and the
  stress test passes reliably and quickly :-)
  
  Patch attached. Okay to submit into master (not tested there, though)
  and gnome-2-32 branches (which is where I have tested it)?
 
 Yes please, master, gnome-3-0 and if you want then gnome-2-32 too.
 Thanks.

Okay, done.

-- 
Bye, Patrick Ohly
--  
patrick.o...@gmx.de
http://www.estamos.de/


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] e_cal_remove_object_with_mod() + empty rid: semantic?

2011-05-16 Thread Patrick Ohly
On Do, 2011-05-12 at 13:17 +0200, Milan Crha wrote:
 On Thu, 2011-05-12 at 12:44 +0200, Patrick Ohly wrote:
  I found this in e-data-cal-view.c notify_remove():
  
  280   /* TODO: store ECalComponentId instead of just uid*/
  281   uid = g_strdup (id-uid);
  282   g_array_append_val (priv-removes, uid);
  
  In other words, removes always come without rid, even if the actual
  event that was removed was not the parent but a detached recurrence.
  ...
  It'll lead to a change of the D-Bus API. For master that shouldn't
  be a problem, but I also want this in MeeGo for KCal-EDS, based on
  2.32. I guess we have to bite the bullet and maintain a MeeGo
 version
  with a different API than regular 2.32.x.
 
 Hi,
 I noticed it too, recently (at the beginning of this week, actually).
 I suggest to not change the D-Bus API, rather encode the string pair
 into the string, like uid\nrid. I was planning to do so in the
 master branch, but didn't do that yet. 

That's still a D-Bus API change: a libecal which receives a UID entry in
that format won't know what to do with it. But it'll be easier to
implement that way, so I'll give it a try first.

I'll do it as uid[\nrid] so that entries without an rid continue to
look exactly like the current ones.

-- 
Bye, Patrick Ohly
--  
patrick.o...@gmx.de
http://www.estamos.de/


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Compile Evolution-Mapi 3.1.1 - Error on libmapi.h

2011-05-16 Thread tudstudent

Oke, this is what i did with above message:

export LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/samba/lib
export
PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/samba/lib/pkgconfig:$PREFIX/share/pkgconfig

then:

pkg-config --cflags libmapi

This delivers the next error:

Package talloc was not found in the pkg-config search path.
Perhaps you should add the directory containing `talloc.pc'
to the PKG_CONFIG_PATH environment variable
Package 'talloc', required by 'MAPI', not found

This package is installed.



Milan Crha wrote:
 
 On Mon, 2011-05-16 at 01:45 -0700, tudstudent wrote:
 Okey, maybe it makes sense to describe how I run the package:
 
 ./configure CFLAGS=-I/usr/lib64/samba4/include
 make (which delivers me the errors)
 
 ...
 /usr/include/libmapi/libmapi.h:49:20: fatal error: dcerpc.h: No such file
 or
 
 Try with these set:
 export LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/samba/lib
 export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:
 $PREFIX/samba/lib/pkgconfig:$PREFIX/share/pkgconfig
 
 Then you might be able to get sane results when invoking:
   $ pkg-config --cflags libmapi
 which should cover your -I too (by the way, it might not be in lib64).
   Hope that helps,
   Milan
 
 ___
 evolution-hackers mailing list
 evolution-hackers@gnome.org
 To change your list options or unsubscribe, visit ...
 http://mail.gnome.org/mailman/listinfo/evolution-hackers
 
 

-- 
View this message in context: 
http://old.nabble.com/Compile-Evolution-Mapi-3.1.1--%3E-Error-on-libmapi.h-tp31626288p31631218.html
Sent from the Gnome - Evolution - Dev mailing list archive at Nabble.com.

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] [Reminder] Evolution community meeting at #evolution-meet channel - May 18 - 3:30 PM UTC

2011-05-16 Thread Chenthill
Hi,
 The meeting goes as follows,

* Project updates
* Discussion on queries/decisions
* Individual updates

Check out http://live.gnome.org/Evolution/CommunityMeet for more details.

- Chenthill.


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] GPG signature position

2011-05-16 Thread Felipe Castillo
Hi everybody,

I'm a little annoyed at the position of the signature verification in
Evolution. I want to put it in the top, right below the header. Even
better if it can be partially hidden.
I know to make some changes like this might need to change the source
code, but is there a way to display the signature in the top by just
configuration files?
It doesn't have to be part of the header, like I suggested, just the
same way it is now, but on the top.
I work use GPG in my emails daily and the position gets annoying after
many emails having to scroll down. Thanks in advance to anybody with
ideas

-- 
Felipe Castillo


signature.asc
Description: This is a digitally signed message part
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Compile Evolution-Mapi 3.1.1 - Error on libmapi.h

2011-05-16 Thread Milan Crha
On Mon, 2011-05-16 at 10:35 -0700, tudstudent wrote:
 export LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/samba/lib
 export
 PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/samba/lib/pkgconfig:
 $PREFIX/share/pkgconfig
 
 then:
 
 pkg-config --cflags libmapi
 
 This delivers the next error:
 
 Package talloc was not found in the pkg-config search path.
 Perhaps you should add the directory containing `talloc.pc'
 to the PKG_CONFIG_PATH environment variable
 Package 'talloc', required by 'MAPI', not found
 
 This package is installed. 

Hi,
good, then you know where to look next. Solve this and it'll work for
you. I cannot tell you anything more than the pkg-config does, the
message is self-describing.

By the way, I thought it's obvious but it seems it wasn't, in those two
exports at the beginning, you should replace $PREFIX with a prefix where
your samba4 is installed, probably /usr if you do not compile it
yourself. Also check the paths exist for you, or change them accordingly
to your system/setup.
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers