benlilaj / gears

Automatically exported from code.google.com/p/gears
0 stars 1 forks source link

Can't install on 64-bit Linux (linux-x86_64-gcc3) #335

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. download the installer for the extension
2. Try to install it
3. installation fails

What is the expected output? What do you see instead?
Expected : Installation works, prompt to restart firefox
Seen : "Google Gears" couldn't be installed because it is not compatible
with your type of version of Firefox (Linux_x86_64-gcc3). Please contact
the author of this extension about this problem.

What version of the product are you using? On what operating system?
0.2.4.0 on Linux Fedora 7 x86_64

Please provide any additional information below.
With which version of gcc was Google Gears compiled ?

Original issue reported on code.google.com by lucien.h...@gmail.com on 21 Dec 2007 at 11:57

GoogleCodeExporter commented 9 years ago

Original comment by cpri...@google.com on 22 Dec 2007 at 12:26

GoogleCodeExporter commented 9 years ago

Original comment by gears.te...@gmail.com on 20 Jan 2008 at 7:41

GoogleCodeExporter commented 9 years ago

Original comment by aztkg...@gmail.com on 25 Jan 2008 at 11:16

GoogleCodeExporter commented 9 years ago
From Scott Wolchok <evilsporkman@gmail.com> on 2008/03/05:

"""
Here is a better (IMO) patch.

Pros:
* Cross-platform approach to 64-bit maintainability.
* No penalty on 32-bit architectures.
* Enables an easy convention going forward: use ptrasint_t as an
 integral type that can hold a pointer.

Cons:
* Introduces a build dependency on Boost. Developers must either
 install Boost headers, or we must "deboostify" boost/integer.hpp as
 was done with scoped_ptr.
* Patch does not fix base/firefox/install.rdf.m4 to output
Linux_x86_64-gcc3 as the target platform (I don't know m4)

The following patch links against Debian's libxpcomglue.so because
libxpcomglue_s does not seem to be available in Debian testing
(lenny). I simply installed libxul-dev instead of building firefox by
hand.

Index: localserver/firefox/async_task_ff.cc
===================================================================
--- localserver/firefox/async_task_ff.cc        (revision 1121)
+++ localserver/firefox/async_task_ff.cc        (working copy)
@@ -469,7 +469,9 @@
      break;
    default:
      assert(IsListenerThread());
-      OnListenerEvent(msg_code, reinterpret_cast<int>(msg_param));
+      //technically can't reinterpret_cast to int if sizeof(int>) <
+      //sizeof(void*), but we are really sure this is an int.
+      OnListenerEvent(msg_code, static_cast<int>(
+
reinterpret_cast<ptrasint_t>(msg_param)));
      break;
  }
 }
Index: tools/config.mk
===================================================================
--- tools/config.mk     (revision 1121)
+++ tools/config.mk     (working copy)
@@ -49,7 +49,7 @@
 # Set default build mode
 #   dbg = debug build
 #   opt = release build
-MODE = dbg
+MODE = opt

 # Set default OS architecture
 #   OSX builds will override this value (see rules.mk).
@@ -57,7 +57,7 @@
 ifeq ($(OS),wince)
  ARCH = arm
 else
-  ARCH = i386
+  ARCH = x86_64
 endif

 # $(shell ...) statements need to be different on Windows (%% vs %).
@@ -124,7 +124,7 @@

 COMPILE_FLAGS_dbg = -g -O0
 COMPILE_FLAGS_opt = -O2
-COMPILE_FLAGS = -c -o $@ -fPIC -fmessage-length=0 -Wall -Werror $
(COMPILE_FLAGS_$(MODE))
+COMPILE_FLAGS = -c -o $@ -fPIC -fmessage-length=0 -Wall $
(COMPILE_FLAGS_$(MODE))
 # NS_LITERAL_STRING does not work properly without this compiler
option
 COMPILE_FLAGS += -fshort-wchar

@@ -142,7 +142,7 @@

 GECKO_SDK = third_party/gecko_1.8/linux

-FF_LIBS = -L $(GECKO_SDK)/gecko_sdk/bin -L $(GECKO_SDK)/gecko_sdk/lib
-lxpcom -lxpcomglue_s -lnspr4
+FF_LIBS = -L $(GECKO_SDK)/gecko_sdk/bin -L $(GECKO_SDK)/gecko_sdk/lib
-lxpcom -lxpcomglue -lnspr4
 endif

######################################################################
Index: base/common/int_types.h
===================================================================
--- base/common/int_types.h     (revision 1121)
+++ base/common/int_types.h     (working copy)
@@ -26,6 +26,15 @@
 #ifndef GEARS_BASE_COMMON_INT_TYPES_H__
 #define GEARS_BASE_COMMON_INT_TYPES_H__

+#include <boost/integer.hpp>
+#include <climits>
+
+//intptr_t would clash with C99 stdint.h if it got included somehow.
+//CHAR_BIT is bits/char, and void * must be big enough to hold all
+//pointers to objects.
+typedef boost::int_t<CHAR_BIT * sizeof(void*)>::fast ptrasint_t;
+
+
 #ifdef _MSC_VER
 #include <float.h>  // for _isnan() on VC++
 #define isnan(x) _isnan(x)  // VC++ uses _isnan() instead of isnan()
Index: base/common/js_runner_ff_marshaling.cc
===================================================================
--- base/common/js_runner_ff_marshaling.cc      (revision 1121)
+++ base/common/js_runner_ff_marshaling.cc      (working copy)
@@ -553,7 +553,7 @@
  //
  // We must use PRIVATE_TO_JSVAL (only works on pointers!) to
prevent the
  // garbage collector from touching any private data stored in JS
'slots'.
-  assert(0 == (0x01 & reinterpret_cast<int>(function_data.get())));
+  assert(0 == (0x01 &
reinterpret_cast<ptrasint_t>(function_data.get())));
  function_wrappers_.push_back(
      linked_ptr<JsWrapperDataForFunction>(function_data.get()));
  jsval pointer_jsval =
PRIVATE_TO_JSVAL((jsval)function_data.release());

"""

Original comment by gears.te...@gmail.com on 8 Mar 2008 at 1:12

GoogleCodeExporter commented 9 years ago
I've been attempting to use the patch above on the latest svn of gears, Doesn't
appear to work anymore. I get the error patch: **** malformed patch at line 14:
reinterpret_cast<ptrasint_t>(msg_param)));

Original comment by elliot.h...@gmail.com on 12 Jun 2008 at 10:32

GoogleCodeExporter commented 9 years ago
I took another look at this today and I've come up with an updated patch (yes, 
the
unit tests all still pass). It now marks the XPI as 64-bit compatible 
correctly, and
I got rid of the libxpcomglue.so issue. It is interesting to note that no new
compilation problems have popped up on 64-bit Linux.

Moving forward, if <stdint.h> is available on the Windows compiler used to build
Gears, you can drop the Boost dependency and just use that -- you already rely 
on it
on Linux and Mac in gears/base/common/atomic_ops_(linux|osx).h .

Original comment by evilspor...@gmail.com on 15 Jun 2008 at 3:28

Attachments:

GoogleCodeExporter commented 9 years ago
Wikipedia references a Windows version of stdint.h for Windows, available here:
http://msinttypes.googlecode.com/

Scott, if we used stdint.h, how would your patch change?  I assume it means 
using
something else instead of 'ptrasint_t' and 'inttoptr_t'?

Original comment by gears.te...@gmail.com on 15 Jun 2008 at 10:43

GoogleCodeExporter commented 9 years ago
The patch would change to use intptr_t from stdint.h instead of ptrasint_t, thus
removing the Boost dependency. Incidentally, inttoptr_t is a typo -- it should 
be
ptrasint_t. I was indecisive about the name.

Original comment by evilspor...@gmail.com on 17 Jun 2008 at 8:23

GoogleCodeExporter commented 9 years ago

Original comment by gears.te...@gmail.com on 18 Jun 2008 at 1:28

GoogleCodeExporter commented 9 years ago
Just to remove any ambiguity, I've removed the typo from my previous 
64bit.patch and
attached it as 64bitboost.patch. 64bitstdint.patch is the patch using stdint.h
instead of Boost.

Original comment by evilspor...@gmail.com on 18 Jun 2008 at 7:11

Attachments:

GoogleCodeExporter commented 9 years ago
Activity seems to have slowed on this bug - any chance we get these latest 
patches
(which seem promising!) merged soon?

Original comment by candrews...@gmail.com on 10 Jul 2008 at 7:56

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago

Original comment by gears.te...@gmail.com on 22 Jul 2008 at 8:06

GoogleCodeExporter commented 9 years ago
A patch exists which solves (?) this issue, so why postpone it?
This is obviously a very wanted feature...

Original comment by drrlvn on 22 Jul 2008 at 8:17

GoogleCodeExporter commented 9 years ago
feature?... if working at all on 64bit system is called feature, yes. 

I'm willing to do testing, just let me know.

Original comment by adil...@gmail.com on 22 Jul 2008 at 8:24

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Scott's patch, actuallly his binary, worked like a charm for me on Ubuntu 8.04
64-bit. However, a 'supported' version would definitely improve my Gears 
experience.
Mainly because I now get a error popup everytime I start Firefox due to the 
fact that
the Gears addon cannot be automatically updated (platform not supported error). 

Original comment by roel.gro...@gmail.com on 5 Oct 2008 at 8:47

GoogleCodeExporter commented 9 years ago
I have a some builds online[1] which don't have the update popup as they are 
built on
the latest Gears svn.

They were created with Scott's patch and the xulrunner/firefox-3.0.1 libs from 
Ubuntu
Intrepid.  The XPI is for Firefox 3 only - the Firefox 2 shared object was not 
built.

I have been using my self-compiled plugin with a number of gears-heavy sites and
haven't had any observable problems.  However, aside from working for me, they 
are
untested.

[1] http://dev.laptop.org/~joel/gears

Original comment by joel.s...@gmail.com on 5 Oct 2008 at 10:52

GoogleCodeExporter commented 9 years ago
@joel.stan, your build works for me (FFx 3, Ubuntu Intrepid beta) on Google 
reader,
Google Docs and http://www.niallkennedy.com/blog/ 
Thanks for providing them! 

Original comment by roel.gro...@gmail.com on 5 Oct 2008 at 7:16

GoogleCodeExporter commented 9 years ago
evilsporkman's "64bitstdint.patch" didn't apply cleanly to the current SVN 
version
due to some minor changes in the surrounding code. Here's an updated version of 
the
patch against r3174 that's so far working for me. YMMV.

Original comment by Klaus.We...@gmail.com on 21 Jan 2009 at 11:01

Attachments:

GoogleCodeExporter commented 9 years ago
Offline Gmail seems to work fine with joel.stan's Gears build 0.5.11.0 on 
Firefox 3.0.5.

Thanks joel.stan!

Original comment by eswi...@gmail.com on 29 Jan 2009 at 5:44

GoogleCodeExporter commented 9 years ago
I checked out the source and built it today on Ubuntu 8.10 AMD64.  I applied the
patch submitted by Klaus.Weidner, but it failed to compile due to undefined 
symbols.
 I added the necessary #includes, which usually were just cstdlib and cstring.  I had
to modify some of the third-party sources like this too, though not sure if 
that's an
issue, since I'm sure the Gears team doesn't want to maintain someone else's 
code as
well.  I also had to replace the libs in the gecko-1.9 sdk.  Finally, I had to 
chmod
oga+x on xpidl and xpt_link.

The patch is attached.

Original comment by derek.di...@gmail.com on 30 Jan 2009 at 4:56

Attachments:

GoogleCodeExporter commented 9 years ago
I wanted to include a link to the installer if anyone wanted to try it, or 
update
their old one.  You can find it on my blog:

http://www.nethedz.org/2009/01/30/google-gears-linux-x86_64/

Original comment by derek.di...@gmail.com on 30 Jan 2009 at 5:41

GoogleCodeExporter commented 9 years ago
Derek, your build works like a champ for me on Fedora 10. Thanks!

Original comment by emarshal on 31 Jan 2009 at 9:23

GoogleCodeExporter commented 9 years ago
I have put up a working 64 bit binary for the most recent Gears as of 02/02/09 
and
the legacy versions at 
http://www.jaduncan.com/2009/02/gears-on-64-bit-gnulinux.html

It works smoothly on 64 bit Intrepid for me.

Original comment by rad...@gmail.com on 3 Feb 2009 at 5:41

GoogleCodeExporter commented 9 years ago
I have used r1381-64bit.patch on Fedora 10 x86_63 with 64-bit binary from
xulrunner-devel and commenting out one line (line 1195, the attachment patch 
includes
the patch and commenting out) in rules.mk.

I also wrote down the entire process of building at
http://fedoratux.blogspot.com/2009/02/building-google-gears-for-firefox-64.html

Original comment by livibet...@gmail.com on 25 Feb 2009 at 6:47

Attachments:

GoogleCodeExporter commented 9 years ago
Great work! I had to add another small patch to get this to compile in gentoo, 
but it
works great. It looks like something changed between r3234 and the current 
version,
so I had to make sure I checked out the version that was patched against.

Steps I followed:

1). svn checkout -r 3234 http://gears.googlecode.com/svn/trunk/ gears-read-only
2). patch -p0 < config.mk.patch
3). patch -p0 < r3234-64bit.patch
4). make BROWSER=FF3

Original comment by wpij...@gmail.com on 5 Apr 2009 at 3:24

Attachments:

GoogleCodeExporter commented 9 years ago
r3298 gave us in-tree support for 64-bit Firefox 3 on Ubuntu Hardy (gcc-4.2).

gcc-4.3 brings a bunch of stricter #include rules, so to build on more modern 
distros
use http://jms.id.au/~shenki/gears/r3301.patch

The patch adds some includes for memcpy and a few other functions, as well as 
some
hacks to get around Ubuntu's warnings for warn unused result and mixing || and 
&& logic.

I've been using the r3301 build, with the above changes, on my Ubuntu Jaunty 
box for
a week or so now and it works fine.

http://jms.id.au/~shenki/gears/gears-linux-x86_64-opt-0.5.18.0.xpi

Original comment by joel.s...@gmail.com on 14 Apr 2009 at 6:40

Attachments:

GoogleCodeExporter commented 9 years ago
Joel your newest compiled version works great.  On behalf of everyone who's too
chicken to compile their own, thank you!

J<

Original comment by Koppi...@gmail.com on 26 Apr 2009 at 4:08

GoogleCodeExporter commented 9 years ago
Joel, your patch applies cleanly on r3334, but when trying to build on Fedora 
Rawhide
(true, gcc is 4.4.0-4; and I have to
mark../third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl as executable), I get 
this error:

[...snip...]
make genheaders BROWSER=FF3
../third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl -I
../third_party/gecko_1.9/linux/gecko_sdk/idl -I ../third_party/gecko_1.9 -m 
header -o
bin-opt/linux-x86_64/ff3/genfiles/interfaces base/firefox/interfaces.idl
../third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl: error while loading shared
libraries: libIDL-2.so.0: cannot open shared object file: No such file or 
directory
make[1]: *** [bin-opt/linux-x86_64/ff3/genfiles/interfaces.h] Error 127
make: *** [default] Error 2
[matej@hubmaier gears]$ locate libIDL-2.so.0
/usr/lib64/libIDL-2.so.0
/usr/lib64/libIDL-2.so.0.0.0
[matej@hubmaier gears]$ 

My suspicion is that your patch looks for 64bit libraries in /usr/lib (because 
that's
where they are on Ubuntu x86_64 IIRC) and not in /usr/lib64.

Any ideas anybody how to fix this? 

Apparently

Original comment by matej.c...@gmail.com on 13 May 2009 at 10:04

GoogleCodeExporter commented 9 years ago
> My suspicion is that your patch looks for 64bit libraries in /usr/lib

Nope, the xpidl is compiled to look at /usr/lib (apparently on Ubuntu). Just 
add the
/usr/lib64 to LD_PRELOAD_PATH.

Original comment by dotted...@altlinux.org on 4 Jun 2009 at 10:46

GoogleCodeExporter commented 9 years ago
Well, xpidl doesn't work at all in the first place. I had to replace it with the
symlink to the system one (why it is not done in the first place?).

Original comment by matej.c...@gmail.com on 5 Jun 2009 at 7:53

GoogleCodeExporter commented 9 years ago
Here's a precompiled version that'll work with firefox-3.5 from
https://launchpad.net/~ubuntu-mozilla-daily/+archive/ppa on Ubuntu 9.04 x86_64:

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

Patch needed to get it compiling on gcc 4.3.3 is attached:

Original comment by geza0kov...@gmail.com on 3 Jul 2009 at 12:44

Attachments:

GoogleCodeExporter commented 9 years ago
Your build for Ubuntu works as expected on Fedora 11 x86_64 with the recent 
update to
the final FF 3.5 release, just FYI.

Original comment by emarshal on 3 Jul 2009 at 12:49

GoogleCodeExporter commented 9 years ago
Sorry, that patch I just posted didn't have all the changes (curse you svn, I 
wish
people used git more). Here's the one with everything needed:

Original comment by geza0kov...@gmail.com on 3 Jul 2009 at 12:52

Attachments:

GoogleCodeExporter commented 9 years ago
This problem seems to be back with 0.5.29.0 and Firefox 3.0.11

Original comment by neilc.co...@gmail.com on 15 Jul 2009 at 6:21

GoogleCodeExporter commented 9 years ago
`uname -a`: "Linux intrepid-mike 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 
UTC 2009
x86_64 GNU/Linux"

`cd /tmp/gears-read-only/ && svn update` : "At revision 3391"

`patch -p0 -i gears-gcc433.diff` : patches cleanly 

`make MODE=opt ARCH=x86_64 BROWSER=FF31 OS=linux` :
"../third_party/sqlite_google/src/os_unix.c: In function ‘findLockInfo’:
../third_party/sqlite_google/src/os_unix.c:688: error: ignoring return value of
‘write’, declared with attribute warn_unused_result
../third_party/sqlite_google/src/os_unix.c: In function ‘unixRandomness’:
../third_party/sqlite_google/src/os_unix.c:2630: error: ignoring return value of
‘read’, declared with attribute warn_unused_result
make[1]: *** [bin-opt/linux-x86_64/common/sqlite/os_unix.o] Error 1
make: *** [default] Error 2"

Original comment by Thomas.G...@gmail.com on 26 Jul 2009 at 7:58

GoogleCodeExporter commented 9 years ago
64 bit, oh please do:
I checked out the code and attempted a compile, using make MODE=opt   had 
failure as
below.

make MODE=opt

make prereqs    BROWSER=NONE
make[1]: Nothing to be done for `prereqs'.
make genheaders BROWSER=NONE
make[1]: Nothing to be done for `genheaders'.
make modules    BROWSER=NONE
make[1]: Nothing to be done for `modules'.
make prereqs    BROWSER=FF3
make[1]: Nothing to be done for `prereqs'.
make genheaders BROWSER=FF3
../third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl -I
../third_party/gecko_1.9/linux/gecko_sdk/idl -I ../third_party/gecko_1.9 -m 
header -o
bin-opt/linux-x86_64/ff3/genfiles/interfaces base/firefox/interfaces.idl
make[1]: execvp: ../third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl: Permission 
denied
make[1]: *** [bin-opt/linux-x86_64/ff3/genfiles/interfaces.h] Error 127
make: *** [default] Error 2

with the more complete command :
make MODE=opt ARCH=x86_64 BROWSER=FF31 OS=linux
:output is in attachment:

basiclly though i get the error below:

./third_party/sqlite_google/src -I../third_party/sqlite_google/preprocessed
-Wno-uninitialized -DHAVE_USLEEP=1 ../third_party/sqlite_google/src/os_unix.c
cc1: warnings being treated as errors
../third_party/sqlite_google/src/os_unix.c: In function ‘findLockInfo’:
../third_party/sqlite_google/src/os_unix.c:688: error: ignoring return value of
‘write’, declared with attribute warn_unused_result
../third_party/sqlite_google/src/os_unix.c: In function ‘unixRandomness’:
../third_party/sqlite_google/src/os_unix.c:2630: error: ignoring return value of
‘read’, declared with attribute warn_unused_result
make[1]: *** [bin-opt/linux-x86_64/common/sqlite/os_unix.o] Error 1
make: *** [default] Error 2

Original comment by xac...@gmail.com on 5 Aug 2009 at 12:43

Attachments:

GoogleCodeExporter commented 9 years ago
Relative newbie chiming in to add my wish for this feature.  Running Ubuntu 9.04
64bit with Firefox (Minefield) 3.6

I'm running a support center site and WordPress.  Would love Gears to work on 
my laptop.

Thank you.

Original comment by ejb...@gmail.com on 11 Aug 2009 at 8:28

GoogleCodeExporter commented 9 years ago
I'm following
http://fedoratux.blogspot.com/2009/02/building-google-gears-for-firefox-64.html 
to
build gears on x86_64 fc11 ( Fedora Core 11 ) and
its failing.  Any ideas or suggestions?

Also, it seems the patch for gears/tools/rules.mk is not needed anymore:

fgrep -n -C 1 'cp $(FF2_MODULE_DLL)
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/lib/ff2/$(DLL_PREFIX)$(MODULE)$(DLL_
SUFFIX)'
/tmp/gears-read-only/gears/tools/rules.mk 
1259-ifneq ($(ARCH),x86_64)
1260:   cp $(FF2_MODULE_DLL)
$(INSTALLERS_OUTDIR)/$(INSTALLER_BASE_NAME)/lib/ff2/$(DLL_PREFIX)$(MODULE)$(DLL_
SUFFIX)
1261-endif

=====

cd /tmp
svn checkout http://gears.googlecode.com/svn/trunk/ gears-read-only

# At revision 3396.

cd /tmp/gears-read-only/
patch -p0 -i /tmp/gears-gcc433.diff
cd gears/
make MODE=opt ARCH=x86_64 BROWSER=FF31 OS=linux

# Wait for the compile to fail and then...

cp -i /usr/lib64/xulrunner-1.9.1/libxpcom.so
../third_party/gecko_1.9/linux/gecko_sdk/lib/libxpcom.so
cp -i /usr/lib64/xulrunner-sdk-1.9.1/sdk/lib/libxpcomglue_s.a
../third_party/gecko_1.9/linux/gecko_sdk/lib/libxpcomglue_s.a
cp -i /usr/lib64/xulrunner-1.9.1/libxul.so
../third_party/gecko_1.9/linux/gecko_sdk/lib/libxul.so
cp -i /usr/lib64/xulrunner-1.9.1/xpt_link
../third_party/gecko_1.9/linux/gecko_sdk/bin/xpt_link
chmod a+x ../third_party/gecko_1.9/linux/gecko_sdk/bin/xpt_link
chmod a+x ../third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl

# ... and back to:

make MODE=opt ARCH=x86_64 BROWSER=FF31 OS=linux

# finally, the compile fails and i can go no further:

make prereqs    BROWSER=FF31
make[1]: Nothing to be done for `prereqs'.
make genheaders BROWSER=FF31
make[1]: Nothing to be done for `genheaders'.
make modules    BROWSER=FF31
g++ -I.. -Ibin-opt/linux-x86_64/ff31 -Ibin-opt/linux-x86_64/common
-I../third_party/npapi -I../third_party -I../third_party/googleurl
-I../third_party/icu38/public/common -DPNG_USER_CONFIG 
-DCHROME_PNG_WRITE_SUPPORT
-DGEARS_PNG_BUILD  -I../third_party/zlib -I../third_party/skia/include/core
-I../third_party/skia/include/images -I../third_party/skia/include/utils 
-DNO_GZIP
-DNO_GZCOMPRESS -DLINUX -I../third_party/gtk/include/gtk-2.0
-I../third_party/gtk/include/atk-1.0 -I../third_party/gtk/include/glib-2.0
-I../third_party/gtk/include/pango-1.0 -I../third_party/gtk/include/cairo
-I../third_party/gtk/lib/gtk-2.0/include 
-I../third_party/gtk/lib/glib-2.0/include 
-DNDEBUG=1 -DUSING_CCTESTS=1 -I../third_party/gtest/include 
-I../third_party/gtest -c
-o bin-opt/linux-x86_64/ff31/localserver_db.o -fPIC -fmessage-length=0 -Wall 
-Werror
-O2 -fshort-wchar -fno-exceptions -fno-rtti -Wno-non-virtual-dtor
-Wno-ctor-dtor-privacy -funsigned-char -Wno-char-subscripts -DBROWSER_FF31=1
-DJS_THREADSAFE -DBROWSER_FF3=1 -DBROWSER_FF=1 -I../third_party/gecko_1.9.1
-I../third_party/gecko_1.9.1/linux
-I../third_party/gecko_1.9.1/linux/gecko_sdk/include -DMOZILLA_STRICT_API 
localserver/common/localserver_db.cc
localserver/common/localserver_db.cc: In destructor 
‘ServiceLog::~ServiceLog()’:
localserver/common/localserver_db.cc:254: error: ‘fclose’ was not declared 
in this scope
localserver/common/localserver_db.cc: In member function ‘void
ServiceLog::InitializeInternal()’:
localserver/common/localserver_db.cc:270: error: ‘fopen’ was not declared 
in this scope
localserver/common/localserver_db.cc: In member function ‘void
ServiceLog::LogHitInternal(const char16*, int)’:
localserver/common/localserver_db.cc:287: error: ‘fprintf’ was not declared 
in this scope
make[1]: *** [bin-opt/linux-x86_64/ff31/localserver_db.o] Error 1
make: *** [default] Error 2

Original comment by chese...@gmail.com on 19 Aug 2009 at 9:31

GoogleCodeExporter commented 9 years ago
on ubuntu karmic x86_64 with gears-gcc433.diff and make -C gears -j3 MODE=opt

make[1]: execvp: ../third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl: Permission 
denied
make[1]: *** [bin-opt/linux-x86_64/ff3/genfiles/interfaces.h] Error 127
make: *** [default] Error 2
make: Leaving directory `/home/eris23/gears-read-only/gears'

Original comment by jdkat...@gmail.com on 21 Aug 2009 at 12:00

GoogleCodeExporter commented 9 years ago
on ubuntu karmic x86_64 with gears-gcc433.diff and make -C gears -j3 MODE=opt
after chmod +x to the executables in 
../third_party/gecko_1.9/linux/gecko_sdk/bin/

../third_party/sqlite_google/src/os_unix.c: In function ‘findLockInfo’:
../third_party/sqlite_google/src/os_unix.c:688: error: ignoring return value of
‘write’, declared with attribute warn_unused_result
../third_party/sqlite_google/src/os_unix.c: In function ‘unixRandomness’:
../third_party/sqlite_google/src/os_unix.c:2630: error: ignoring return value of
‘read’, declared with attribute warn_unused_result
make[1]: *** [bin-opt/linux-x86_64/common/sqlite/os_unix.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [default] Error 2
make: Leaving directory `/home/eris23/gears-read-only/gears'

Original comment by jdkat...@gmail.com on 21 Aug 2009 at 12:07

GoogleCodeExporter commented 9 years ago
FYI- A work-around:

http://blog.celogeek.com/linux/linux-tips-and-tricks/google-gears-compilation/

From patches on:

http://gkovacs.xvm.mit.edu/

Original comment by davebaileync@gmail.com on 26 Aug 2009 at 1:06

GoogleCodeExporter commented 9 years ago
Thank you davebaileync!  Works like a charm!

Original comment by ejb...@gmail.com on 28 Aug 2009 at 4:36

GoogleCodeExporter commented 9 years ago
Here is what I had to end up doing for r3405.  This may be different per Linux
distro, but I am using Gentoo x86_64 (amd64).

First, I symlink'd ./third_party/gecko_1.9.1/linux/gecko_sdk/bin/xpidl ->
/usr/lib64/xulrunner-1.9.1/xpidl which was on my system. 
./third_party/gecko_1.9/linux/gecko_sdk/bin/xpidl.

Then apply the patch I have provided to make sure you have the proper include 
statements.

Then I run: make MODE=opt OS=linux ARCH=x86_64

Now, I don't know what causes this but for some reason, in
./gears/bin-opt/linux-x86_64/ff3/genfiles/interfaces.h, make will complain about
NS_OUTPARAM.  When this happens, remove all instances of NS_OUTPARAM (i.e. in 
vim
%s/NS_OUTPARAM//g).

Then everything should work and compile, hopefully :D.

I have attached my xpi build and I have tested my build with all the demos on 
this
page with no errors: http://code.google.com/apis/gears/sample.html

As a side note, this was with gcc x86_64-pc-linux-gnu-4.4.1.

Good luck!

Original comment by ericvw on 7 Oct 2009 at 4:31

Attachments:

GoogleCodeExporter commented 9 years ago
About the integral type, I think ptrdiff_t or size_t[1] (defined in stddef.h) 
are
better. Some environments (e.g. MSVC) doesn't have stdint.h, which is in C99
standard. It seems almost all environments have these two types defined in 
their C
library.

[1] I am not pretty sure, but it seems size_t is always the same size with a 
pointer.

Original comment by KJac...@gmail.com on 28 Oct 2009 at 4:23

GoogleCodeExporter commented 9 years ago
heya,

I tried the Gears 0.5.33.0 xpi on Firefox, worked fine, however, now I've 
updated to 
FF 3.5.5, all of the sites (e.g. Gmail) just show a blank page (i.e. white).

Cheers,
Victor

Original comment by victorh...@gmail.com on 11 Nov 2009 at 9:41

GoogleCodeExporter commented 9 years ago
Freshly built and totally untested, but I thought I'd post anyway. Enjoy. 
maybe. ;)

Original comment by jacobgod...@gmail.com on 12 Dec 2009 at 4:01

Attachments:

GoogleCodeExporter commented 9 years ago
It works in Google Docs! To clarify ericvw's NS_OUTPARAM instructions, remove 
any
mention from the interface.h file mentioned in the error. This define appears 
to be
useful only if you're using a specific version of gcc (and we usually aren't) so
removing it has no effect since the pre-compiler translates it to blank space 
anyway.

I'm working on a Gentoo ebuild, for you Gentoo fans. ;)

Original comment by jacobgod...@gmail.com on 12 Dec 2009 at 4:16

GoogleCodeExporter commented 9 years ago
Any plans to include 64-bit Gears in 64-bit Chrome for Linux?

Original comment by dvpdiner2 on 12 Dec 2009 at 4:21