Evolution and the timezone patch

Joe Marcus Clarke marcus at marcuscom.com
Mon Jan 7 11:48:27 PST 2008


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

Patrick Reich wrote:
| On Mon, 2008-01-07 at 13:35 -0500, Joe Marcus Clarke wrote:
|> -----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.
|
| The build completes without error with this second patch
| but evolution will not start.  The backtrace is attached.

Try this version.

Joe

|
| Patrick
|
|


- --
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

iD8DBQFHgoJ0b2iPiv4Uz4cRAiQFAKCZZnDWWCPNDerrL2Hccb8fDJHWkwCfWxGL
uiHC3+Z0SvEe3bK2GMsA8go=
=zA0N
-----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 (num_trans != 0)
+			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 (num_trans != 0)
+			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