Gears build for x86_64, compatible with Firefox 3.5, and patch for building with gcc 4.3.3 on Ubuntu

0 views
Skip to first unread message

Geza Kovacs

unread,
Jul 2, 2009, 8:07:04 PM7/2/09
to Gears Users
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"

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

Danny

unread,
Jul 4, 2009, 3:52:23 PM7/4/09
to Gears Users
Thanks, also works on opensuse 11 x86_64 with F3.5
Reply all
Reply to author
Forward
0 new messages