Evolution and the timezone patch

Joe Marcus Clarke marcus at marcuscom.com
Mon Jan 7 10:34:18 PST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Patrick Reich wrote:
| On Sun, 2008-01-06 at 23:43 -0500, Joe Marcus Clarke wrote:
|> On Sun, 2008-01-06 at 21:18 -0600, Patrick Reich wrote:
|>> On Sun, 2008-01-06 at 21:41 -0500, Joe Marcus Clarke wrote:
|>>> On Sun, 2008-01-06 at 19:55 -0600, Patrick Reich wrote:
|>>>> On Sun, 2008-01-06 at 20:40 -0500, Joe Marcus Clarke wrote:
|>>>>> On Sun, 2008-01-06 at 19:28 -0600, Patrick Reich wrote:
|>>>>>> On Sun, 2008-01-06 at 13:16 -0500, Joe Marcus Clarke wrote:
|>>>>>>> On Sun, 2008-01-06 at 10:05 -0600, Patrick Reich wrote:
|>>>>>>>> Hi everyone,
|>>>>>>>>
|>>>>>>>> I checked the archives and found something about a patch
|>>>>>>>> for Evolution not starting up the first time due to an off
|>>>>>>>> by one error when looking up timezones.
|>>>>>>>>
|>>>>>>>> Robert Noland posted a patch here
|>>>>>>>>
|>>>>>>>> http://bugzilla.gnome.org/show_bug.cgi?id=492426
|>>>>>>>>
|>>>>>>>> As of a portsnap pull yesterday and a build from scratch
|>>>>>>>> of gnome2, I encountered the same behavior.  Has this
|>>>>>>>> patch been applied to the ports tree or is there a
|>>>>>>>> commit delay until after the upcoming releases?  If it has
|>>>>>>>> been applied, is there a workaround?
|>>>>>>> The fix was committed a long time ago.  E-d-s 1.12.2 does not
have this
|>>>>>>> problem.
|>>>>>>>
|>>>>>>> Joe
|>>>>>> After a new portsnap fetch and rebuild today, Evolution will not
|>>>>>> start.  This is the first time Evolution has been run.  I've
|>>>>>> attached a backtrace and my make.conf.  The system is 6.3-RC2 with
|>>>>>> gnome2-lite and Evolution compiled from source; no exotic compiler
|>>>>>> flags.  I'm not a gdb expert so if something else is needed to
|>>>>>> track this down, I'll be happy to provide it.
|>>>>> No exotic compiler flags?  You're using non-default CFLAGS with a
|>>>>> CPUTYPE.  Anything not the default IS exotic.
|>>>>>
|>>>>> Where is your list of installed ports and versions?
|>>>>>
|>>>>> Joe
|>>>> A list of installed ports is attached.  I presume I'll need to
|>>>> rebuild again without CPUTYPE/CFLAGS.
|>>> Mezz is correct.  You need to rebuild evolution-data-server (at least)
|>>> with debugging flags to get a proper debugging info.  The backtrace is
|>>> not the same as the previously reported bug which is fixed in e-d-s
|>>> 1.12.2.
|>>>
|>>> Joe
|>> I recompiled evolution and evolution-data-server with debugging
|>> turned on AND with CPUTYPE/CFLAGS removed from make.conf.  The
|>> backtrace is attached.
|> This looks like a bug only on versions of FreeBSD still using phkmalloc.
|> jemalloc's calloc does not return NULL when asked to allocate zero
|> bytes.
|
| Does 7 use calloc?

Yes, but jemalloc's calloc does not return NULL when asked to allocate 0
bytes.

|
|> This patch for e-d-s should fix the problem.
|
| The compile failed.  The attached file is large but shows where
| the build stopped.  Looks like a type undeclared.

This is a typo.  New patch is attached.

In the future, do not send ~ 1 MB of logs to a mailing list.  compress
the file, or post it to a web site, and include the URL.

Joe

- --
PGP Key : http://www.marcuscom.com/pgp.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHgnD+b2iPiv4Uz4cRAq01AKCB2e2uLgjZT7F3pbzbcjKbMpR2PACeLLky
l8gk+YMuU3nWTvUdDS8T/wM=
=MawT
-----END PGP SIGNATURE-----
-------------- next part --------------
--- calendar/libical/src/libical/icaltz-util.c.orig	2007-11-25 21:29:25.000000000 -0500
+++ calendar/libical/src/libical/icaltz-util.c	2008-01-06 23:36:51.000000000 -0500
@@ -23,6 +23,15 @@
 #include <string.h>
 #if defined(sun) && defined(__SVR4)
 #include <sys/byteorder.h>
+#elif defined(__FreeBSD__)
+#include <sys/endian.h>
+#define __BYTE_ORDER            _BYTE_ORDER
+#define __LITTLE_ENDIAN         _LITTLE_ENDIAN
+#define __BIG_ENDIAN            _BIG_ENDIAN
+
+#define bswap_16                bswap16
+#define bswap_32                bswap32
+#define bswap_64                bswap64
 #else
 #include <byteswap.h>
 #include <endian.h>
@@ -328,7 +337,10 @@ icaltzutil_fetch_timezone (const char *l
 		icalprop = icalproperty_new_tzname (types [zidx].zname);
 		icalcomponent_add_property (std_comp, icalprop);
 
-		trans = transitions [stdidx] + types [zidx].gmtoff;
+		if (transitions)
+			trans = transitions [stdidx] + types [zidx].gmtoff;
+		else
+			trans = types [zidx].gmtoff;
 		icaltime = icaltime_from_timet (trans, 0);
 		dtstart = icaltime;
 		dtstart.year = 1970;
@@ -369,7 +381,10 @@ icaltzutil_fetch_timezone (const char *l
 		icalprop = icalproperty_new_tzname (types [zidx].zname);
 		icalcomponent_add_property (dst_comp, icalprop);
 
-		trans = transitions [dstidx] + types [zidx].gmtoff;
+		if (transitions)
+			trans = transitions [dstidx] + types [zidx].gmtoff;
+		else
+			trans - types [zidx].gmtoff;
 		icaltime = icaltime_from_timet (trans, 0);
 		dtstart = icaltime;
 		dtstart.year = 1970;


More information about the freebsd-gnome mailing list