I've gotten gears working with Firefox 3.5 (shiretoko) on x86_64
Ubuntu 9.04 (jaunty) using the latest svn revision (3373). I've posted
an xpi at 
http://gkovacs.xvm.mit.edu/google-gears-firefox-3.5-x86_64/gears-linux-x86_64-0.5.25.0.xpi

It was built from http://gears.googlecode.com/svn/trunk revision 3373

If you'd like to build it yourself, use the following commands:

svn co http://gears.googlecode.com/svn/trunk -r3373
cd trunk
wget 
http://gkovacs.xvm.mit.edu/google-gears-firefox-3.5-x86_64/gears-gcc433.diff
patch -p0 -i gears-gcc433.diff
make

Here is the patch, if you'd prefer to download see
http://gkovacs.xvm.mit.edu/google-gears-firefox-3.5-x86_64/gears-gcc433.diff

Index: geolocation/backoff_manager.cc
===================================================================
--- geolocation/backoff_manager.cc      (revision 3373)
+++ geolocation/backoff_manager.cc      (working copy)
@@ -26,6 +26,7 @@
 #include "gears/geolocation/backoff_manager.h"

 #include <assert.h>
+#include <stdlib.h>

 // The baseline minimum period between network requests.
 static const int kBaselineMinimumRequestInterval = 1000 * 5;  // 5
seconds
Index: cctests/test.cc
===================================================================
--- cctests/test.cc     (revision 3373)
+++ cctests/test.cc     (working copy)
@@ -700,15 +700,15 @@

   bool ok = false;
   JsParamType t = context->GetArgumentType(1);
-  if (type == STRING16(L"bool") && t == JSPARAM_BOOL ||
-      type == STRING16(L"int") && t == JSPARAM_INT ||
-      type == STRING16(L"double") && t == JSPARAM_DOUBLE ||
-      type == STRING16(L"string") && t == JSPARAM_STRING16 ||
-      type == STRING16(L"null") && t == JSPARAM_NULL ||
-      type == STRING16(L"undefined") && t == JSPARAM_UNDEFINED ||
-      type == STRING16(L"array") && t == JSPARAM_ARRAY ||
-      type == STRING16(L"function") && t == JSPARAM_FUNCTION ||
-      type == STRING16(L"object") && t == JSPARAM_OBJECT) {
+  if ((type == STRING16(L"bool") && t == JSPARAM_BOOL) ||
+      (type == STRING16(L"int") && t == JSPARAM_INT) ||
+      (type == STRING16(L"double") && t == JSPARAM_DOUBLE) ||
+      (type == STRING16(L"string") && t == JSPARAM_STRING16) ||
+      (type == STRING16(L"null") && t == JSPARAM_NULL) ||
+      (type == STRING16(L"undefined") && t == JSPARAM_UNDEFINED) ||
+      (type == STRING16(L"array") && t == JSPARAM_ARRAY) ||
+      (type == STRING16(L"function") && t == JSPARAM_FUNCTION) ||
+      (type == STRING16(L"object") && t == JSPARAM_OBJECT)) {
     ok = true;
   }
   context->SetReturnValue(JSPARAM_BOOL, &ok);
Index: desktop/desktop.cc
===================================================================
--- desktop/desktop.cc  (revision 3373)
+++ desktop/desktop.cc  (working copy)
@@ -216,14 +216,14 @@
   }

   // Resolve the icon urls
-  if (!shortcut_info->icon16x16.url.empty() &&
-      !ResolveUrl(&shortcut_info->icon16x16.url, &error_) ||
-      !shortcut_info->icon32x32.url.empty() &&
-      !ResolveUrl(&shortcut_info->icon32x32.url, &error_) ||
-      !shortcut_info->icon48x48.url.empty() &&
-      !ResolveUrl(&shortcut_info->icon48x48.url, &error_) ||
-      !shortcut_info->icon128x128.url.empty() &&
-      !ResolveUrl(&shortcut_info->icon128x128.url, &error_)) {
+  if ((!shortcut_info->icon16x16.url.empty() &&
+      !ResolveUrl(&shortcut_info->icon16x16.url, &error_)) ||
+      (!shortcut_info->icon32x32.url.empty() &&
+      !ResolveUrl(&shortcut_info->icon32x32.url, &error_)) ||
+      (!shortcut_info->icon48x48.url.empty() &&
+      !ResolveUrl(&shortcut_info->icon48x48.url, &error_)) ||
+      (!shortcut_info->icon128x128.url.empty() &&
+      !ResolveUrl(&shortcut_info->icon128x128.url, &error_))) {
     return false;
   }

Index: base/common/string16.h
===================================================================
--- base/common/string16.h      (revision 3373)
+++ base/common/string16.h      (working copy)
@@ -46,6 +46,7 @@
 #define GEARS_BASE_COMMON_STRING16_H__

 #include <string>
+#include <string.h>
 #include "gears/base/common/basictypes.h"

 // Need to cast literals (Linux, OSX) and SQLite void* retvals (all
platforms)
Index: base/common/string_utils.cc
===================================================================
--- base/common/string_utils.cc (revision 3373)
+++ base/common/string_utils.cc (working copy)
@@ -25,6 +25,7 @@

 #include "gears/base/common/string_utils.h"
 #include "third_party/convert_utf/ConvertUTF.h"
+#include <limits.h>

 #if defined(OS_ANDROID)
 // Android is missing wcslen. This is just a wide character strlen.
Index: base/common/http_utils.cc
===================================================================
--- base/common/http_utils.cc   (revision 3373)
+++ base/common/http_utils.cc   (working copy)
@@ -27,6 +27,7 @@

 #include <iterator>
 #include <vector>
+#include <stdlib.h>
 #include "gears/base/common/http_utils.h"

 //
----------------------------------------------------------------------

Reply via email to