Difference between revisions of "Gecko"

From WineHQ Wiki
Jump to: navigation, search
(Installing)
(Port info from BuildingWineGecko page on old wiki)
Line 67: Line 67:
 
</pre>
 
</pre>
 
winetricks can install gecko-dbg, use 'winetricks gecko-dbg' to automate the above steps.
 
winetricks can install gecko-dbg, use 'winetricks gecko-dbg' to automate the above steps.
 +
 +
=== Building Wine Gecko ===
 +
 +
The following describe how the Wine Gecko package is built.
 +
 +
NOTE: If you're unsure if you want to build it yourself, the answer is no. There is no reason to build it yourself unless you're going to work on Mozilla code. If you need Gecko to run an app in Wine, check the [:Gecko:Gecko page]. Wine Gecko source is hosted in Git on [http://sourceforge.net/p/wine/wine-gecko/ci/master/tree/ Sourceforge].
 +
 +
Wine Gecko is maintained by [:JacekCaban:Jacek Caban]. If you need help, feel free to contact him.
 +
 +
==== Mingw-w64 ====
 +
It is [https://developer.mozilla.org/en-US/docs/Cross_Compile_Mozilla_for_Mingw32 encouraged] to use [http://mingw-w64.sourceforge.net mingw-w64] for cross-compiling.
 +
 +
===== Building Mingw-w64 =====
 +
The exact instruction about building the package of 2.34 version are hosted in [http://sourceforge.net/p/wine/wine-gecko/ci/master/tree/wine/README wine/README] in Wine Gecko source directory.
 +
 +
===== Binary Packages =====
 +
Some Distro are maintaining mingw-w64 in their repo, like [https://apps.fedoraproject.org/packages/mingw-headers Fedora]. You can install the dependencies with commands like
 +
<souce lang="bash">
 +
# yum-builddep mingw32-wine-gecko
 +
</source>
 +
 +
==== Troubleshooting ====
 +
===== 'pthread_t' does not name a type =====
 +
Try to remove media/libstagefright/ports/win32/include/pthread.h
 +
===== mingw-w64 too old =====
 +
For example:
 +
 +
*[http://sourceforge.net/p/mingw-w64/mingw-w64/ci/7268caece9b4cb33ff698306e51140b11d7656b0/#diff-3 'ILocation' was not declared].
 +
*[http://sourceforge.net/p/mingw-w64/mingw-w64/ci/6c56d0b0eb5be9fbeb552ba070a2304b842a5102/ 'EXTERN_C' does not name a type]
 +
 +
The mingw-w64 package on your distro may be too old to include this patch.[https://lists.fedoraproject.org/pipermail/mingw/2015-April/009047.html (for example, it will take some time to backport these patch to stable branches like v4.x)]
 +
If you faced this trouble, please consider compile mingw-w64 by yourself(as [http://sourceforge.net/p/wine/wine-gecko/ci/master/tree/wine/README README] said)
  
 
=== See also ===
 
=== See also ===
* MozillaIntegration
+
* [[iexplore]]
* ["iexplore"]
+
* BuildingWineGecko
+
 
* [http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/appwiz.cpl/addons.c#l54 Gecko version needed by current Wine git]
 
* [http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/appwiz.cpl/addons.c#l54 Gecko version needed by current Wine git]
  
 
[[Category:Networking]]
 
[[Category:Networking]]

Revision as of 12:32, 4 March 2016

Wine implements its own version of Internet Explorer. The implementation is based on a custom version of Mozilla's Gecko Layout Engine.

Installing

When your application tries to display a site, current Wine loads its custom implementation of Gecko from .msi files. Wine will try to install Gecko when a wineprefix is created. If the file can't be found on your computer, Wine will download it for you. If the download fails, you can download the appropriate version (see table below) yourself from http://dl.winehq.org/wine/wine-gecko/.

  • For 64 bit (WoW64) Wine, both the x86 and x86_64 .msi files are required.
  • In most cases, the file(s) should be placed in /usr/share/wine/gecko.
  • If you installed Wine in some $prefix rather than /usr, place the .msi files in $prefix/share/wine/gecko/ instead of /usr/share/wine/gecko. (e.g. if you installed it from source, then place the files in /usr/local/share/wine/gecko).
Wine Gecko (32 bit) Gecko (64 bit)
wine-0.9.47 - wine-1.1.11 wine_gecko-0.1.0.cab
wine-1.1.12 - wine-1.1.14 wine_gecko-0.9.0.cab
wine-1.1.15 - wine-1.1.26 wine_gecko-0.9.1.cab
wine-1.1.27 - wine-1.3.1 wine_gecko-1.0.0-x86.cab
wine-1.3.2 - wine-1.3.15 wine_gecko-1.1.0-x86.cab wine_gecko-1.1.0-x86_64.cab
wine-1.3.16 - wine-1.3.26 wine_gecko-1.2.0-x86.msi wine_gecko-1.2.0-x86_64.msi
wine-1.3.27 - wine-1.3.32 wine_gecko-1.3-x86.msi wine_gecko-1.3-x86_64.msi
wine-1.3.33 - wine-1.4 wine_gecko-1.4-x86.msi wine_gecko-1.4-x86_64.msi
wine-1.5.0 - wine-1.5.6 wine_gecko-1.5-x86.msi wine_gecko-1.5-x86_64.msi
wine-1.5.7 - wine-1.5.9 wine_gecko-1.6-x86.msi wine_gecko-1.6-x86_64.msi
wine-1.5.10 - wine-1.5.14 wine_gecko-1.7-x86.msi wine_gecko-1.7-x86_64.msi
wine-1.5.15 - wine-1.5.21 wine_gecko-1.8-x86.msi wine_gecko-1.8-x86_64.msi
wine-1.5.22 - wine-1.5.30 wine_gecko-1.9-x86.msi wine_gecko-1.9-x86_64.msi
wine-1.5.31 - wine-1.7.2 wine_gecko-2.21-x86.msi wine_gecko-2.21-x86_64.msi
wine-1.7.3 - wine-1.7.30 wine_gecko-2.24-x86.msi wine_gecko-2.24-x86_64.msi
wine-1.7.31 - wine-1.7.37 wine_gecko-2.34-x86.msi wine_gecko-2.34-x86_64.msi
wine-1.7.38 - wine-1.7.49 wine_gecko-2.36-x86.msi wine_gecko-2.36-x86_64.msi
wine-1.7.50 - wine-1.9.2 wine_gecko-2.40-x86.msi wine_gecko-2.40-x86_64.msi
wine-1.9.3 - current wine_gecko-2.44-x86.msi wine_gecko-2.44-x86_64.msi

Running Wine from source tree

If you are using Git or running Wine from source code, then Wine will try to find the .msi file by looking in ../gecko/ (relative to the build tree).

Debug info

If Gecko is crashing on you, you can download a debug build to get more verbose logs. Here's how:

$ wget http://dl.winehq.org/wine/wine-gecko/2.44/wine_gecko-2.44-x86-unstripped.tar.bz2
$ cd .wine/drive_c/windows/system32/gecko/2.44
$ mv wine_gecko wine_gecko.old
$ tar -jxf ~/wine_gecko-2.44-x86-unstripped.tar.bz2 

winetricks can install gecko-dbg, use 'winetricks gecko-dbg' to automate the above steps.

Building Wine Gecko

The following describe how the Wine Gecko package is built.

NOTE: If you're unsure if you want to build it yourself, the answer is no. There is no reason to build it yourself unless you're going to work on Mozilla code. If you need Gecko to run an app in Wine, check the [:Gecko:Gecko page]. Wine Gecko source is hosted in Git on Sourceforge.

Wine Gecko is maintained by [:JacekCaban:Jacek Caban]. If you need help, feel free to contact him.

Mingw-w64

It is encouraged to use mingw-w64 for cross-compiling.

Building Mingw-w64

The exact instruction about building the package of 2.34 version are hosted in wine/README in Wine Gecko source directory.

Binary Packages

Some Distro are maintaining mingw-w64 in their repo, like Fedora. You can install the dependencies with commands like <souce lang="bash">

  1. yum-builddep mingw32-wine-gecko

</source>

Troubleshooting

'pthread_t' does not name a type

Try to remove media/libstagefright/ports/win32/include/pthread.h

mingw-w64 too old

For example:

The mingw-w64 package on your distro may be too old to include this patch.(for example, it will take some time to backport these patch to stable branches like v4.x) If you faced this trouble, please consider compile mingw-w64 by yourself(as README said)

See also