Difference between revisions of "Run Gramps40 for Windows from source using Python 2.7.3"

From Gramps
Jump to: navigation, search
(Introduction)
(See also)
(159 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Introduction==
+
{{man warn|Work in progress!!|Nobody guarantees anything at all!<br/>Any comments and help (e.g. on wiki pages) are welcome.<br><br>Last update: 19.01.2014<br><br>'''Work in progress!!'''}}
This page gives information how to run Gramps 4.0.x from source on a Windows system. After some trials there was the result to focus on 32 bit Python 2.7.3  because of several issues related to Gtk and database connection. All steps were done by the author on Windows 7 64bit German.
+
{{stub}}
  
There are some parts marked as "TODO ISSUE" because of known issues.
+
This page provides information how to run Gramps 4.0.x to 4.1.x from source on a Microsoft Windows system with a 32 bit Python 2.7.6 (and Python 3.2 or greater).
  
There are some parts marked as "TODO WORK" because it's not done yet done (work in progress).
+
The principles are still OK. For a time without an AIO package that was a good way to have a running Gramps for Windows using Python 2.7.3. But the now available AIO package has a better usability. To prevent two different versions no further actions where done since the beginning of 2014.
  
{{man warn| This is a work in progress... <br/>Nobody guarantees anything at all!<br/>Any comments and help (e.g. on wiki pages) are welcome.}}
+
{{man menu|Please note: Gramps 4.2.x and newer only work with Python 3.2 or greater.}}
  
Last update: 06.03.2013
+
There are some parts marked as:
 +
* "TODO ISSUE" because of known issues.
 +
* "TODO WORK" because it's not done yet done (work in progress).
 +
 
 +
==Windows operating system==
 +
* Win Vista: no information available
 +
* Win7.x: no special installations are known (all test done using Win7 Professional SP1 64bit German)
 +
* Win8.x: no information available
 +
* Win10.x: no information available
 +
* Win XP since April 8th 2014 is no longer supported by Microsoft and it is recommended you upgrade (How about upgrading to Linux :) )
 +
** If you would still like to use Win XP these additional installations are strongly required (all tests done using WinXP Home 32 bit German)
 +
*** SP3 (http://www.microsoft.com/de-de/download/confirmation.aspx?id=25129)
 +
*** "Microsoft Visual C++ 2008 Redistributable Package (x86)" (http://www.microsoft.com/de-de/download/details.aspx?id=29)
 +
*** "Microsoft Visual C++ 2010 Redistributable Package (x86)" (http://www.microsoft.com/de-de/download/details.aspx?id=5555)
  
 
==Python==
 
==Python==
Requirements from README:  
+
Requirements from the Gramps [https://github.com/gramps-project/gramps/blob/maintenance/gramps41/README README]:  
 
* Python 2.7 or greater, Python 3.2 or greater (python version cannot be mixed)
 
* Python 2.7 or greater, Python 3.2 or greater (python version cannot be mixed)
We use: Python 2.7.3 32 bit from http://www.python.org/getit/ for all examples assumed to be installed into "C:\Python27".
+
**We use: Python 2.7.6 32 bit from https://www.python.org/downloads/ (python-2.7.6.msi) for all examples assumed to be installed into "C:\Python27".
+
**Comment: It's also possible to use Python 2.7.3 or 2.7.5 but always 32 bit (no experiences for 64 bit versions)
Comment: For Win7 user it's easier to don't use "C:\Program Files (x86)\..." because for every change somewhere in this folder one has to activate the administrator's rights again and again.
+
**Comment: For Win7 user it's easier to not use "C:\Program Files (x86)\..." because for every change somewhere in this folder one has to activate the administrator's rights again and again.
 +
 
 +
 
 +
===PyGI AIO Package===
 +
With the help of an open source programmer we get this package (here again the authors personally thank for his good job supporting Gramps in this way - see there to know more about of his other work: http://opensourcepack.blogspot.de/2013/01/mypaint-and-pygi.html):
 +
 
 +
* 19.01.2014: Download '''pygi-aio-3.10.2-win32_rev15-setup.exe''' or newer as a complete installer from:
 +
**  http://sourceforge.net/projects/pygobjectwin32/files/
 +
*The PyGI AIO Package includes the following libraries for Gramps that should be selected during the installation process (you may choose libraries other for additional usages):
 +
** gdk-pixbuf (version 2.30.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
** libgexiv2 (version 0.7.0 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
** goocanvas (version 2.0.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
** gtk+ (version 3.10.6 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
** gtkspell (version 3.0.3 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
** osm-gps-map (version 1.0.1 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
** pango (version 1.36.1 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
** webkitgtk (version 1.10.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)
 +
* To run Gramps there is no need for pygi-aio's optionally provided developer tools.
 +
* Don't use the older GTK 3.8.6 (Select "No" as answer at the additional question dialogue!)
 +
* Deprecated versions before 15.12.2013 see history
 +
 
 +
Comments (19.01.2014):
 +
* All gtk binaries are included in the pygi-aio installer package and correctly placed.
 +
* The pygi-aio package has no need for processors having an SSSE3 instruction set.
  
===Gtk, pyobject===
+
====Gtk, pyobject====
 
Requirements from README:  
 
Requirements from README:  
* GTK 3.0 or greater
+
* GTK 3.8.7+ or greater
 
* pygobject 3.3.2 or greater
 
* pygobject 3.3.2 or greater
* cairo, pango, pangocairo with instrospection bindings (the gi packages)
+
* cairo, pango, pangocairo with introspection bindings (the gi packages)
 
* librsvg2 (svg icon view)
 
* librsvg2 (svg icon view)
 
* xdg-utils
 
* xdg-utils
Currently there are no official binaries available. With the help of an open source programmer we got this package (here again the authors personally thank for his good job supporting Gramps in this way - see there to know more about of his other work: http://opensourcepack.blogspot.de/2013/01/mypaint-and-pygi.html):
 
* 27.02.2013, 24.02.2013: pygi-aio-3.4.2rev7.7z from http://code.google.com/p/osspack32/downloads/detail?name=pygi-aio-3.4.2rev7.7z&can=2&q=
 
** content of pygi-aio-3.4.2rev7.7z\py27\ to be copied into "C:\Python27\Lib\site-packages"
 
** content of pygi-aio-3.4.2rev7.7z\gtk\ to be copied into "C:\Python27\Lib\site-packages\gtk" 
 
* 23.02.2013(Deprecated): <strike>pygi-aio-3.4.2rev6.7z from http://code.google.com/p/osspack32/downloads/detail?name=pygi-aio-3.4.2rev6.7z&can=2&q=
 
** content of pygi-aio-3.4.2rev6.7z\py27\ to be copied into "C:\Python27\Lib\site-packages"
 
** content of pygi-aio-3.4.2rev6.7z\gtk\ to be copied into "C:\Python27\Lib\site-packages\gtk"
 
** To prevent issue [http://www.gramps-project.org/bugs/view.php?id=6429 6429] download Gtk-3.0.typelib from the issue page and overwrite the same file in "C:\Python27\Lib\site-packages\gtk\lib\girepository-1.0" (TODO WORK: to be removed if the new typelib is part of the package)</strike>
 
* Deprecated versions before 23.02.2013 see history
 
  
Comment: For all examples it's assumed that the included Gtk binaries will be stored into "C:\Python27\Lib\site-packages\gtk" and it's also strongly assumed that this value will be added to the windows environment variable PATH!
+
Checking the state of the pygi-aio package can be confirmed by:
 
+
* starting Python (e. g.: C:\Python27>python)
Checking the state of the package can be done by:
 
* start Python (e. g.: C:\Python27>python)
 
 
* and than call the functions as follows. There should be the same results.
 
* and than call the functions as follows. There should be the same results.
  Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win 32
+
  Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win  
 +
32
 
  Type "help", "copyright", "credits" or "license" for more information.
 
  Type "help", "copyright", "credits" or "license" for more information.
  >>> from gi.repository import GObject
+
  >>> from gi.repository import Gtk
 
  >>> Gtk.get_major_version()
 
  >>> Gtk.get_major_version()
 
  3L
 
  3L
 
  >>> Gtk.get_minor_version()
 
  >>> Gtk.get_minor_version()
 +
10L
 +
>>> Gtk.get_micro_version()
 
  6L
 
  6L
>>> Gtk.get_micro_version()
 
4L
 
 
  >>> from gi.repository import GObject
 
  >>> from gi.repository import GObject
 
  >>> GObject.pygobject_version
 
  >>> GObject.pygobject_version
  (3, 4, 2)
+
  (3, 10, 2)
 +
 
 +
====language-pack-gnome-xx====
 +
Requirements from README (*STRONGLY RECOMMENDED*):
 +
* Translation of GTK elements to your language, with xx your language code eg for Dutch you need language-pack-gnome-nl. The translation of the Gramps strings is included with the source code.
 +
 
 +
The necessary package related to our GTK package will be provided also by the programmer of the GTK package (see above).
 +
* 19.01.2014: No further actions necessary, because this GTK package contains also these components.
 +
* Deprecated versions before 11.03.2013 see history
 +
 
 +
====osmgpsmap====
 +
Requirements from README (*STRONGLY RECOMMENDED*):
 +
* Used to show maps in the geography view. Without this the GeoView will not be active, see [[Gramps_4.1_Wiki_Manual_-_Categories#Geography_Category]]
 +
* The package is named osmgpsmap, osm-gps-map or python-osmgpsmap. Or obtain it from: http://nzjrs.github.com/osm-gps-map/ (Comment: There is no direct download from this web page)
 +
 
 +
==> osmgpsmap is an optional package even the README requires "strongly recommended".
 +
 
 +
Add this package:
 +
* 19.01.2014: osmgpsmap is integrated part of the GTK package.
 +
 
 +
Comments:
 +
* If you don't have osmgpsmap there will be no message during the start-up of Gramps about a missing osmgpsmap. The only thing is the missing Geographic view in Gramps.
 +
* There is a warning from the provider of this package: "window resizing crashed". But it seems this doesn't happens for Gramps - may be in rare cases only.
 +
 
 +
====GExiv2====
 +
Is an optional package.
 +
19.01.2014: GExiv2 is integrated part of the GTK package.
 +
 
 +
Because the EditExifMetadata add-on isn't currently available this package is tested for reading exif data only using the "image metadata" gramplet.
  
===ICU/PyICU===
+
====gtkspell====
This new used package is a "must be".
+
Requirements from README (optional package):
 +
* Enable spell checking in the notes.
 +
* Gtkspell depends on enchant.
 +
* A version of gtkspell with gobject introspection is needed, so minimally version 3.0.0.
  
27.02.2013: Download http://dl.dropbox.com/u/81888101/Gramps/PYICU_py27_win32.zip.
+
 
 +
19.01.2014: The basics to use a spell are already included in the here used GTK package.
 +
{{man warn| At least the content of pygi-aio-3.10.2-win32_rev15-setup.exe used by Gramps forces an crash if libenchant_voikko.dll is available!<br/>It is strongly requested to delete ...\Lib\site-packages\gnome\lib\enchant\libenchant_voikko.dll.}}
 +
 
 +
The only missed things may be special myspell dictionaries (comment: Gramps uses myspell only!) . These can be found here:
 +
* from http://extensions.openoffice.org/ download the language packages of your choice. Included in the there provided .oxt files one can extract by using a program like 7-Zip the necessary .aff and .dic files.
 +
* alternate [http://extensions.libreoffice.org/extension-center?getCategories=Dictionary&getCompatibility=any extensions.libreoffice.org/]
 +
* Or you may find these files (.aff and .dic) as part of any GrampsAIO installation in "..\share\enchant\myspell"
 +
 
 +
For our example all files *.aff *.dic have to be stored into "C:\Python27\Lib\site-packages\gnome\share\enchant\myspell".
 +
 
 +
 
 +
TODO ISSUE/WORK There are still some issues using spell (as per 019.01.2014):
 +
* Open the note editor having spell activated slows down the os extremely as longer as larger the text. This may cost more than 45 seconds for a text having 400 lines and 17000 characters. So it's strongly suggested to don't global activate "Enable spelling checker" in Preferences!
 +
* Up to Gramps 4.0.2 there is a spell related issue [https://www.gramps-project.org/bugs/view.php?id=7339 #7339] which has to be prevented by the there provided patch!
 +
 
 +
====gir-webkit====
 +
Information from README:
 +
* GObject introspection data of WebKit is required for the hidden view 'Htmlview', which allows websites to be opened in Gramps.
 +
* Users can unhide the view in the plugin manager.
 +
* A html renderer must be installed to use the view.
 +
* !! PACKAGERS, Test if on your distribution webkit and Gramps is stable. If you obtain crashes, patch src/plugins/view/htmlrenderer.py and src/plugins/view/geoview.gpr.py, so as to remove: from gi.repository import WebKit as webkit
 +
 
 +
 
 +
19.01.2014: Webkit is an integrated part of the GTK package.
 +
 
 +
====goocanvas====
 +
Information from README:
 +
* Required for the Graphview plugin
 +
 
 +
19.01.2014: It's is part of the current GTK package
 +
 
 +
=== Not Provided by GTK-AIO package ===
 +
 
 +
====ICU/PyICU====
 +
Requirements from README (*STRONGLY RECOMMENDED*):
 +
 
 +
19.01.2014: Download http://dl.dropbox.com/u/81888101/Gramps/PYICU_py27_win32.zip (This zip provides ICU/PyICU version 1.5 (for current version information see https://pypi.python.org/pypi/PyICU )
 
* Copy all files from PYICU_py27_win32.zip\lib\site-packages to "C:\Python27\Lib\site-packages"
 
* Copy all files from PYICU_py27_win32.zip\lib\site-packages to "C:\Python27\Lib\site-packages"
* Copy all files from PYICU_py27_win32.zip\bin to folder found by Python / Gramps. In any final version all binaries can be stored in the folder. But for our trials we prefer a separate folder to be independent from other packages: "C:\icu". Because of this decision we have to add the this to the environment variable PATH.
+
* Now we have to place the binaries from PYICU_py27_win32.zip\bin to a folder found by Python / Gramps:
 +
** First Option: Somewhere on hard disc e.g. "C:\icu". In this case we have to add this path to the environment variable PATH.
 +
** Second Option: Into the same folder as python.exe. That's a good solution for a package, because we don't need any changes for the environment variable PATH. ''If you don't know, where to put dll (you get an "ImportError: DLL load failed" error), put a *.dll in a "C:\Python27\Lib\site-packages" (without a bin subfolder).''
  
 
To check ICU/PyICU just try it in Python (don't forget the environment variable PATH):
 
To check ICU/PyICU just try it in Python (don't forget the environment variable PATH):
  Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win 32
+
  Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win
 +
32
 
  Type "help", "copyright", "credits" or "license" for more information.
 
  Type "help", "copyright", "credits" or "license" for more information.
 
  >>> import icu
 
  >>> import icu
Line 66: Line 163:
 
  50.1.2
 
  50.1.2
 
  >>> print icu.VERSION
 
  >>> print icu.VERSION
  1.5  
+
  1.5
 
 
===language-pack-gnome-xx===
 
Requirements from README (*STRONGLY RECOMMENDED*):
 
* Translation of GTK elements to your language, with xx your language code eg for Dutch you need language-pack-gnome-nl. The translation of the Gramps strings is included with the source code.
 
  
The necessary package related to our GTK package will be provided also by the programmer of the GTK package (see above). It's to find in an other distribution package because of the limits of the used repository:
+
Comment (19.01.2014): There are other unofficial PyICU versions available some where in the web. But be careful to use other than the one above. Unexpected issues may be caused.
* 27.02.2013: From http://code.google.com/p/osspack32/downloads/detail?name=pygi-aio-3.4.2rev7-opt.7z&can=2&q= download pygi-aio-3.4.2rev7-opt.7z
 
* 23.02.2013 (Deprecated): <strike>From http://code.google.com/p/osspack32/downloads/detail?name=pygi-aio-3.4.2rev6-opt.7z&can=1&q=pygi-aio download pygi-aio-3.4.2rev6-opt.7z</strike>
 
* Deprecated versions before 23.02.2013 see history
 
  
Copy the folder "pygi-aio-3.4.2rev?-opt.7z\gtk\share\locale" into the related Gtk folder "..\site-packages\gtk\share\locale". For our example this would be: "C:\Python27\Lib\site-packages\gtk\share\locale".
+
====GraphViz====
 
 
===osmgpsmap===
 
Requirements from README (*STRONGLY RECOMMENDED*):
 
* Used to show maps in the geography view. Without this the GeoView will not be active, see http://gramps-project.org/wiki/index.php?title=Gramps_4.0_Wiki_Manual_-_Main_Window#Geography_Category
 
* The package is named osmgpsmap, osm-gps-map or python-osmgpsmap. Or obtain it from: http://nzjrs.github.com/osm-gps-map/
 
 
 
==> osmgpsmap is an optional package even the README requires "strongly recommended".
 
 
 
TODO WORK: Add this package. But where to get? The link above doesn't help currently to get a complete package for this environment.
 
 
 
Comment: There is currently no message during the start-up of Gramps about a missing osmgpsmap. The only thing is the missing Geographic view in Gramps.
 
 
 
===GraphViz===
 
 
Requirements from README (*STRONGLY RECOMMENDED*):
 
Requirements from README (*STRONGLY RECOMMENDED*):
 
* Enable creation of graphs using GraphViz engine.
 
* Enable creation of graphs using GraphViz engine.
Line 96: Line 173:
 
* Obtain it from: http://www.graphviz.org
 
* Obtain it from: http://www.graphviz.org
  
Following the information on http://www.graphviz.org we get the current installation graphviz-2.30.msi from http://www.graphviz.org/Download_windows.php and run it.
+
19.01.2014: Following the information on http://www.graphviz.org we get the current package from http://www.graphviz.org/Download_windows.php: graphviz-2.36.zip
  
For the examples we used the default installation path "C:\Program Files (x86)\Graphviz2.30\" and the installation for 'everyone'.
+
For the examples we copy the complete content to "C:\Program Files (x86)\Graphviz2.36\".
  
 
To give Gramps the access to this software we have to add the directory of the related binaries to the PATH environment variable. But to prevent trouble with the used dll versions between GraphViz and Gramps it's strongly recommended to add this at the end of PATH
 
To give Gramps the access to this software we have to add the directory of the related binaries to the PATH environment variable. But to prevent trouble with the used dll versions between GraphViz and Gramps it's strongly recommended to add this at the end of PATH
  SET PATH=%PATH%;C:\Program Files (x86)\Graphviz2.30\bin
+
  SET PATH=%PATH%;C:\Program Files (x86)\Graphviz2.30\bin\
  
GraphViz will be used e. g. for any report in Reports --> Graphs. Without GraphViz there is only one output format "Graphvi File". If all is OK there are several output formats available (e. g. "PDF (Graphviz)", "JPEG image" etc.).
+
{{man warn| Using "Graph View" GraphViz 2.34 or higher forces an error (#{{bug|7109}} Fixed in Gramps 4.2.0). At #{{bug|7109}} you will find a patch to solve the issue for older versions of Gramps.<br>
 +
Without this patch and a still unsolved issue one should use graphviz-2.30.1.zip from http://www.graphviz.org/pub/graphviz/stable/windows/. The handling is the same as above}}
 +
<br>
 +
Comments: GraphViz will be used e. g. for any report in Reports --> Graphs. Without GraphViz there is only one output format "Graphvi File". If all is OK there are several output formats available (e. g. "PDF (Graphviz)", "JPEG image" etc.).
  
===pyexiv2===
+
#{{bug|7109}}
'''24.02.2013: Will not be used any more, replaced by GExiv2'''<br>
 
24.02.2013 (Deprecated): <strike>Requirements from README (*STRONGLY RECOMMENDED*):
 
* Enables Gramps to manage Exif metadata embedded in your media.
 
* Gramps needs version 0.1.3 or greater.
 
* Obtain it from: http://tilloy.net/dev/pyexiv2/download.html
 
  
From the web page as defined above we get for Python 2.7 pyexiv2-0.3.2-setup.exe and run it. During the running setup we choose a system wide installation into C:\Python27\Lib\site-packages. That's all in this case.
+
* alternate http://portableapps.com/node/38245  '''GVEdit (Graphviz) Portable'''
  
The package will be used by the 'Image Metadata' Gramplet.
+
====pyexiv2====
 +
'''24.02.2013: Will not be used any more, replaced by [[Run_Gramps40_for_Windows_from_source_using_Python_2.7.3#GExiv2 |GExiv2]]'''
  
The package will be replaced in the near future by gexiv2.</strike>
+
====ghostscript ghostview====
 
 
===ghostscript ghostview===
 
 
Optional packages
 
Optional packages
* From http://www.ghostscript.com/download/gsdnld.html download the "Ghostscript GPL Release" and run the downloaded file gs907w32.exe. For the example we again use the default installation. Python / Gramps needs to know the folder where the binaries are stored (default: "C:\Program Files (x86)\gs\gs9.07\bin")
+
* From http://www.ghostscript.com/download/gsdnld.html download the "Ghostscript GPL Release" for "Ghostscript 9.10 for Windows (32 bit)" and run the downloaded file gs910w32.exe. For the example we again use the default installation.  
* From http://pages.cs.wisc.edu/~ghost/gsview/get50.htm download gsv50w32.exe
+
** Python / Gramps needs to know the folder where the binaries are stored (default: "C:\Program Files (x86)\gs\gs9.10\bin") by defining the environment variable PATH. <code>SET PATH=%PATH%;C:\Program Files (x86)\gs\gs9.10\bin\</code>
 +
** As option it's possible to place the content of the binary folder (default: "C:\Program Files (x86)\gs\gs9.10\bin") into the same folder as python.exe to prevent any changes of  the environment variable PATH.
 +
* From http://pages.cs.wisc.edu/~ghost/gsview/get50.htm download and run gsv50w32.exe (e. g. into the default install folder: C:\Program Files (x86)\Ghostgum).
 +
** Python / Gramps needs to know the folder where the binaries are stored (default: "C:\Program Files (x86)\Ghostgum\gsview") by defining the environment variable PATH.<br>Comment: This tool will be used to display .ps files as optional result of reports. So at least it's like e.g. any a .pdf viewer or .rtf viewer. It would be possible to include it into any Gramps package. But as normally nobody would include a .pdf viewer or .rtf viewer into a Gramps package I won't suggest to do that for a .ps viewer.
 +
** alternate http://portableapps.com/apps/utilities/ghostscript_portable
  
===GExiv2===
+
====rcs====
Will be an optional package.
 
'''27.02.2013:GExiv2 is still not available.'''
 
 
 
===gtkspell===
 
 
Requirements from README (optional package):
 
Requirements from README (optional package):
* Enable spell checking in the notes.
+
* The [http://en.wikipedia.org/wiki/Revision_Control_System GNU Revision Control System (RCS)] can be used to manage multiple revisions of your family trees.  
* Gtkspell depends on enchant.
+
* See info at [[Gramps_4.1_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree]]
* A version of gtkspell with gobject introspection is needed, so minimally version 3.0.0.
 
 
 
The basics to use a spell are already included in the here used GTK3 package. The only missed things are myspell dictionaries. These can be found:
 
* from http://wiki.openoffice.org/wiki/Dictionaries download the language packages of your choice. In some cases (e.g. for German) it's more difficult because one has to download a "OpenOffice.org 3.x Extensions" package. For German one will get via http://extensions.services.openoffice.org/project/dict-de_DE_frami the file dict-de_DE-frami_2012-06-17.oxt. Using a program like 7-Zip one will find the necessary files (de_DE_frami.aff and de_DE_frami.dic) in "dict-de_DE-frami_2012-06-17.oxt\de_DE_frami\".
 
* from e.g. the GrampsAOI3.4.2 package in "..\GrampsAIO32_3.4.2\share\enchant\myspell"
 
 
 
For our example all files *.aff *.dic have to be stored into "C:\Python27\Lib\site-packages\gtk\share\enchant\myspell".
 
 
 
TODO ISSUE/WORK There are still some issues using spell:
 
* Open the note editor having spell activated slows down the os extremely as longer as larger the text.
 
* The spell settings will not be stored.
 
 
 
===rcs===
 
Requirements from README (optional package):
 
* The GNU Revision Control System (RCS) can be used to manage multiple revisions of your family trees.  
 
* See info at http://www.gramps-project.org/wiki/index.php?title=Gramps_4.0_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree
 
 
* Only rcs is needed, NO python bindings are required
 
* Only rcs is needed, NO python bindings are required
  
Line 154: Line 212:
 
  It seems to be working but the reload from an archived database doesn't run.
 
  It seems to be working but the reload from an archived database doesn't run.
 
  Finally it doesn't matter to install rcs.
 
  Finally it doesn't matter to install rcs.
 
 
Additional comment:
 
It seems to be better in general to use the Gramps function "Make Backup..."
 
than to archive a bsddb database what means in detail also more an backup
 
than an archive. It could be a good idea to handle such backups in the db
 
open window like archives using rcs. (TODO WORK: add an feature request)
 
  
===PIL===
+
====PIL====
 
Requirements from README (optional package):
 
Requirements from README (optional package):
 
* Python Image Library is needed to convert non jpg images to jpg so as to include them in LaTeX output
 
* Python Image Library is needed to convert non jpg images to jpg so as to include them in LaTeX output
Line 167: Line 219:
 
From http://www.pythonware.com/products/pil/ download PIL-1.1.7.win32-py2.7.exe. Run this installation to add PIL to the used Python version.
 
From http://www.pythonware.com/products/pil/ download PIL-1.1.7.win32-py2.7.exe. Run this installation to add PIL to the used Python version.
  
===further Python packages===
+
* alternatehttp://python-pillow.github.io/
TODO WORK: Add the missing packages having a usable version.
 
Because of time all packages not list above are not tried up today. It will be the job of the next time to go ahead to add all these packages.
 
   
 
Requirements from README:
 
 
 
The following packages are optional 
 
 
 
  ttf-freefont    More font support in the reports
 
  
  gir-webkit      GObject introspection data of WebKit is required for the
+
====ttf-freefont====
                    hidden view 'Htmlview', which allows websites to be opened in
+
Information from README: More font support in the reports
                    Gramps. Users can unhide the view in the plugin manager.
 
                    A html renderer must be installed to use the view.
 
                    !! PACKAGERS, Test if on your distribution
 
                    webkit and Gramps is stable. If you obtain crashes, patch
 
                    src/plugins/view/htmlrenderer.py and
 
                    src/plugins/view/geoview.gpr.py, so as to remove:
 
                      from gi.repository import WebKit as webkit
 
  
  goocanvas2:
+
07.03.2013 TODO WORK: How to use for the Windows environment. It's assumed that the fonts should be added to the Graphviz environment, but not yet tested.
                    Required for the Graphview plugin
 
  
 
==Debug Environment==
 
==Debug Environment==
Line 197: Line 233:
 
TODO WORK: description
 
TODO WORK: description
  
==Start Gramps 4.0==
+
===dependency viewer===
 +
TODO WORK: description
 +
 
 +
==Start Gramps 4.0.x==
 
===Get Gramps sources===
 
===Get Gramps sources===
For all examples it's assumed that the Gramps source (e.g. from the repository http://svn.code.sf.net/p/gramps/code/branches/maintenance/gramps40) will be stored into "C:\Gramps4.0".
+
For all examples it's assumed that the Gramps source (e.g. from the GIT repository https://github.com/gramps-project/gramps or the .tar.gz from from http://sourceforge.net/projects/gramps/files/Stable/../) will be stored into "C:\Gramps4.0".
  
It's helpful to use a Subversion client for Windows to get these sources. Also if one gets sources only such a tool provides the possibility of history search and or compare and also to mark differences between the current version on the computer and the repository.
+
It's helpful to use a special client for Windows to get these sources. Also if one gets sources only such a tool provides the possibility of history search and or compare and also to mark differences between the current version on the computer and the repository.
  
There are good experiences using TortoiseSVN from http://tortoisesvn.net/downloads.html.
+
There are good experiences using TortoiseGIT from http://code.google.com/p/tortoisegit/.
  
 
===Prepare Setup===
 
===Prepare Setup===
To run setup.py we need the translation tools from http://sourceforge.net/projects/gnuwin32/files/gettext/0.14.4/gettext-0.14.4.exe/download?use_mirror=switch&download=: Download gettext-0.14.4.exe and run it to install.
+
[Changed 03.12.2013]
 +
To run setup.py we need the translation tool msgfmt.exe having a proper version. The installer for poedit (http://sourceforge.net/projects/poedit/files/poedit/1.5/poedit-1.5.7-setup.exe/download) provides msgfmt.exe in version 0.18.1.0.  
  
For all examples assumed to be installed to: "C:\Program Files (x86)\GnuWin32\bin" (The default path of the installer)
+
Latest version of poedit available from https://poedit.net/download
 +
 
 +
For all examples we assume poedit to be installed to: "C:\Program Files (x86)\Poedit" (The default path of the installer).
  
 
===Run Setup Build===
 
===Run Setup Build===
Line 215: Line 257:
 
Here is an example batch file to run this:
 
Here is an example batch file to run this:
  
<code>
+
<pre>
C:
+
C:
cd C:\Gramps4.0
+
cd C:\Gramps4.0
set path=C:\Python27;C:\Program Files (x86)\GnuWin32\bin;%path% (x86)\Graphviz2.30\bin
+
set path=C:\Python27;C:\Program Files (x86)\Poedit\bin;C:\Program Files (x86)\Poedit\GettextTools\bin;%path%
C:\Python27\python setup.py build
+
C:\Python27\python setup.py build
pause
+
pause
</code>
+
</pre>
 +
 
 
The result should look like this:
 
The result should look like this:
 
  running build
 
  running build
Line 263: Line 306:
 
  C:\Gramps4.0>pause
 
  C:\Gramps4.0>pause
 
  Hit any key . . .
 
  Hit any key . . .
 +
 +
 +
Possible exception:
 +
* setup.py stops because of a missing "intltool-merge".
 +
* setup.py assumes for Windows to have either non installed "intltools" or complete installed "intltools". In some rare situations it could be possible to have an incomplete installation of these tools. But because we don't need these tools to run Gramps itself it's necessary to edit setup.py in such cases: Insert "return (0, 0, 0)" direct behind "if sys.platform == 'win32':" in "def intltool_version():".
 +
 +
      ...
 +
  def intltool_version():
 +
      <nowiki>'''</nowiki>
 +
      Return the version of intltool as a tuple.
 +
      <nowiki>'''</nowiki>
 +
      if sys.platform == 'win32':
 +
          '''return (0, 0, 0)'''
 +
          cmd = ["perl", "-e print qx(intltool-update --version) =~ m/(\d+.\d+.\d+)/;"]
 +
      ...
  
 
Comments:  
 
Comments:  
Line 273: Line 331:
 
TODO ISSUE: Each work around to be removed if not necessary any more
 
TODO ISSUE: Each work around to be removed if not necessary any more
  
* 03.03.2013 (Deprecated): <strike>27.02.2013: Using LANG to force Gramps to use an other language than English runs at least for LANG=de_DE into an error (see [http://www.gramps-project.org/bugs/view.php?id=6481 6481])</strike>
+
19.01.2014: To get the license information within the Help-About dialogue one has to copy the file COPYING from the Gramps sources root (e.g. C:\Gramps4.0) into the to be generated folder <gramps root>\build\data (e.g.: C:\Gramps4.0\build\data).
* 03.03.2013 (Deprecated): <strike>Currently there is an issue between setup.py and the code using the content of const.py that's why we need manually changes in ""C:\Gramps4.0\gramps\gen\const.py, line 203 to 206: In all string paths for LOCALE_DIR , DATA_DIR, IMAGE_DIR, DOC_DIR replace '\' by '\\'</strike>
 
* 23.02.2013 (Deprecated): <strike>16.02.2013: see also above how to install the Gtk package. As described in issue 6429 [http://www.gramps-project.org/bugs/view.php?id=6429] there is a work around to have the drop down menu for gramplets in the side and bottom bar working: new "Gdk-3.0.typelib" from this issue page (TODO ISSUE: to be removed if the new typelib is part of the package)</strike>
 
  
 
===Overall appearance===
 
===Overall appearance===
 
A short description 'How to control the general view of Gramps using GTK themes':
 
A short description 'How to control the general view of Gramps using GTK themes':
* For our example theme packages have to be stored in "C:\Python27\Lib\site-packages\gtk\share\themes". Per default with the here used GTK package there are three packages available:
+
* For our example theme packages have to be stored in "C:\Python27\Lib\site-packages\gnome\share\themes". Per default with the here used GTK package there are three packages available:
 
** Adwaita
 
** Adwaita
 +
** Bluebird
 
** Default
 
** Default
 
** Emacs
 
** Emacs
 +
** Evolve
 +
** Greybird
 +
** HighContrast
 +
** Orion
  
 
To select one of these themes one has to manipulate the a special settings.ini file. For our example it's placed there:
 
To select one of these themes one has to manipulate the a special settings.ini file. For our example it's placed there:
* C:\Python27\Lib\site-packages\gtk\etc\gtk-3.0\settings.ini
+
* C:\Python27\Lib\site-packages\gnome\etc\gtk-3.0\settings.ini
 
* This example for settings.ini defines the theme "Adwaita" and the font "Segoe UI" having the font size 10:
 
* This example for settings.ini defines the theme "Adwaita" and the font "Segoe UI" having the font size 10:
  
 
  [Settings]
 
  [Settings]
  gtk-theme-name = Adwaita
+
  gtk-theme-name = HighContrast
 
  gtk-font-name = Segoe UI 10
 
  gtk-font-name = Segoe UI 10
  
Line 297: Line 358:
 
At this point we have a basically running Gramps.  
 
At this point we have a basically running Gramps.  
  
Because we didn't add all packages suggested by the README we didn't have the full functionality. Especially some output formats and the geographic view are not available yet (TODO WORK: Add the missing packages having a usable version.)
+
Because we didn't add all packages suggested by the README we didn't have the full functionality. Especially some output formats are not available yet (TODO WORK: Add the missing packages having a usable version.)
  
Because Gramps 4.0 is still under development there are still several issues and crashes (see bug tracker: http://www.gramps-project.org/bugs/view_all_bug_page.php). It's strongly recommended to use test data for validation only!
+
For Gramps 4.1 development there may still be issues etc (see bug tracker: http://www.gramps-project.org/bugs/view_all_bug_page.php). It's strongly recommended to use test data for validation only!
  
 
To run Gramps a batch seems to be helpful:
 
To run Gramps a batch seems to be helpful:
<code>
+
<pre>
set LANG=en_GB
+
set LANG=de_DE
 
   
 
   
@rem may be some time we need an other language
+
@rem may be some time we need an other language
@rem set LANG=de_DE
+
@rem set LANG=de_DE
 
   
 
   
@rem it's a good idea to have a own GRAMPSHOME
+
@rem it's a good idea to have a own GRAMPSHOME
set GRAMPSHOME=C:\Gramps40
+
set GRAMPSHOME=C:\Gramps40
@rem we need the path of the Gtk binaries
+
@rem we need the path of the Gtk binaries
set path=C:\Program Files (x86)\gs\gs9.07\bin;C:\icu;C:\Python27\lib\site-packages\gtk;%path%;C:\Program Files (x86)\Graphviz2.30\bin
+
set path=C:\Goocanvas;C:\Program Files (x86)\gs\gs9.10\bin;C:\icu;%path%;C:\Program Files (x86)\Graphviz2.36\bin
 
   
 
   
@rem let's jump to Python binaries
+
@rem let's jump to Python binaries
C:
+
C:
cd C:\Python27
+
cd C:\Python27
 
   
 
   
@rem call for all version information (e.g. as background for any issue)
+
@rem call for all version information (e.g. as background for any issue)
python "C:\Gramps4.0\gramps.py" -v
+
python "C:\Gramps4.0\gramps.py" -v
 
   
 
   
@rem let's start Gramps
+
@rem let's start Gramps
python "C:\Gramps4.0\gramps.py"
+
python "C:\Gramps4.0\gramps.py"
pause
+
pause
</code>
+
</pre>
  
"Gramps -v" should show this information now (last change 03.03.2013):
+
"Gramps -v" should show this information now if one uses the gramps-4.0.2.tar.gz from http://sourceforge.net/projects/gramps/files/Stable/:
 
  Gramps Settings:
 
  Gramps Settings:
 
  ----------------
 
  ----------------
   python    : 2.7.3
+
   python    : 2.7.6
   gramps    : 4.0.0-alpha4-r21533M
+
   gramps    : 4.0.2
   gtk++    : 3.6.4
+
   gtk++    : 3.10.6
   pygobject : 3.4.2
+
   pygobject : 3.10.2
   pango    : 1.32.6
+
   pango    : 1.36.1
 
   Not using bsddb3
 
   Not using bsddb3
   bsddb    : 4.8.4.2
+
   bsddb    : 5.3.0
 
   bsddb.db  : 4.7.25
 
   bsddb.db  : 4.7.25
   cairo    : 1.12.10
+
   cairo    : 1.12.16
 
   pycairo  : 1.10.0
 
   pycairo  : 1.10.0
   osmgpsmap : not found
+
   osmgpsmap : 1.0
   GExiv2    : not found
+
   GExiv2    : 0.4
 
   ICU      : 50.1.2
 
   ICU      : 50.1.2
 
   PyICU    : 1.5
 
   PyICU    : 1.5
 
   o.s.      : win32
 
   o.s.      : win32
 
+
 
  Environment settings:
 
  Environment settings:
 
  ---------------------
 
  ---------------------
Line 363: Line 424:
 
  Non-python dependencies:
 
  Non-python dependencies:
 
  ------------------------
 
  ------------------------
   Graphviz  : 2.30
+
   Graphviz  : 2.36
   Ghostscr. : 9.07
+
   Ghostscr. : 9.10
 
   
 
   
 
  System PATH env variable:
 
  System PATH env variable:
 
  -------------------------
 
  -------------------------
     C:\Program Files (x86)\gs\gs9.07\bin
+
    C:\Goocanvas
 +
     C:\Program Files (x86)\gs\gs9.10\bin
 
     C:\icu
 
     C:\icu
    C:\Python27\lib\site-packages\gtk
 
 
  ...
 
  ...
 +
 +
==Known Major Issues==
 +
As known per 2013-12-16
 +
* GraphViz 2.34 and later causes an error in Graph View:<strike>see {{bug|7277}} for more details</strike>('''It's solved with the AIO for Gramps 4.1.1''')
 +
* no Django
 +
* [[Run_Gramps40_for_Windows_from_source_using_Python_2.7.3#gtkspell |gtkspell]]:
 +
** Opening the note editor having spell activated or activating the spell within the note editor blocks Python / the application for a while (as longer as larger the text). Therefore it's suggested to deactivate the spell checker in Preferences. But it's the same if one toggles this feature or changes the spell language interactive using the right mouse context menu in the Note Editor.
 +
** The spell settings will not be stored.
 +
* The [[Run_Gramps40_for_Windows_from_source_using_Python_2.7.3#osmgpsmap |Geographic view]] and other gtk parts may generate warnings without any other known effect
 +
* WinXP (26.12.13): see information [[Run_Gramps40_for_Windows_from_source_using_Python_2.7.3#Windows_operating_system |above]]
  
 
==See also==
 
==See also==
 
*[[GEPS 029: GTK3-GObject introspection Conversion]]
 
*[[GEPS 029: GTK3-GObject introspection Conversion]]
 +
*[[GrampsAIO-4 package updating]]
 +
*[[Gramps for Windows with MSYS2]]
  
 
[[Category:GEPS|W]]
 
[[Category:GEPS|W]]
 
[[Category:Developers/General]]
 
[[Category:Developers/General]]

Revision as of 21:28, 20 March 2017

Gnome-important.png
Work in progress!!

Nobody guarantees anything at all!
Any comments and help (e.g. on wiki pages) are welcome.

Last update: 19.01.2014

Work in progress!!

Gramps-notes.png

This article's content is incomplete or a placeholder stub.
Please update or expand this section.


This page provides information how to run Gramps 4.0.x to 4.1.x from source on a Microsoft Windows system with a 32 bit Python 2.7.6 (and Python 3.2 or greater).

The principles are still OK. For a time without an AIO package that was a good way to have a running Gramps for Windows using Python 2.7.3. But the now available AIO package has a better usability. To prevent two different versions no further actions where done since the beginning of 2014.

Please note: Gramps 4.2.x and newer only work with Python 3.2 or greater.

There are some parts marked as:

  • "TODO ISSUE" because of known issues.
  • "TODO WORK" because it's not done yet done (work in progress).

Windows operating system

Python

Requirements from the Gramps README:

  • Python 2.7 or greater, Python 3.2 or greater (python version cannot be mixed)
    • We use: Python 2.7.6 32 bit from https://www.python.org/downloads/ (python-2.7.6.msi) for all examples assumed to be installed into "C:\Python27".
    • Comment: It's also possible to use Python 2.7.3 or 2.7.5 but always 32 bit (no experiences for 64 bit versions)
    • Comment: For Win7 user it's easier to not use "C:\Program Files (x86)\..." because for every change somewhere in this folder one has to activate the administrator's rights again and again.


PyGI AIO Package

With the help of an open source programmer we get this package (here again the authors personally thank for his good job supporting Gramps in this way - see there to know more about of his other work: http://opensourcepack.blogspot.de/2013/01/mypaint-and-pygi.html):

  • 19.01.2014: Download pygi-aio-3.10.2-win32_rev15-setup.exe or newer as a complete installer from:
  • The PyGI AIO Package includes the following libraries for Gramps that should be selected during the installation process (you may choose libraries other for additional usages):
    • gdk-pixbuf (version 2.30.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)
    • libgexiv2 (version 0.7.0 in pygi-aio-3.10.2-win32_rev15-setup.exe)
    • goocanvas (version 2.0.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)
    • gtk+ (version 3.10.6 in pygi-aio-3.10.2-win32_rev15-setup.exe)
    • gtkspell (version 3.0.3 in pygi-aio-3.10.2-win32_rev15-setup.exe)
    • osm-gps-map (version 1.0.1 in pygi-aio-3.10.2-win32_rev15-setup.exe)
    • pango (version 1.36.1 in pygi-aio-3.10.2-win32_rev15-setup.exe)
    • webkitgtk (version 1.10.2 in pygi-aio-3.10.2-win32_rev15-setup.exe)
  • To run Gramps there is no need for pygi-aio's optionally provided developer tools.
  • Don't use the older GTK 3.8.6 (Select "No" as answer at the additional question dialogue!)
  • Deprecated versions before 15.12.2013 see history

Comments (19.01.2014):

  • All gtk binaries are included in the pygi-aio installer package and correctly placed.
  • The pygi-aio package has no need for processors having an SSSE3 instruction set.

Gtk, pyobject

Requirements from README:

  • GTK 3.8.7+ or greater
  • pygobject 3.3.2 or greater
  • cairo, pango, pangocairo with introspection bindings (the gi packages)
  • librsvg2 (svg icon view)
  • xdg-utils

Checking the state of the pygi-aio package can be confirmed by:

  • starting Python (e. g.: C:\Python27>python)
  • and than call the functions as follows. There should be the same results.
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win 
32
Type "help", "copyright", "credits" or "license" for more information.
>>> from gi.repository import Gtk
>>> Gtk.get_major_version()
3L
>>> Gtk.get_minor_version()
10L
>>> Gtk.get_micro_version()
6L
>>> from gi.repository import GObject
>>> GObject.pygobject_version
(3, 10, 2)

language-pack-gnome-xx

Requirements from README (*STRONGLY RECOMMENDED*):

  • Translation of GTK elements to your language, with xx your language code eg for Dutch you need language-pack-gnome-nl. The translation of the Gramps strings is included with the source code.

The necessary package related to our GTK package will be provided also by the programmer of the GTK package (see above).

  • 19.01.2014: No further actions necessary, because this GTK package contains also these components.
  • Deprecated versions before 11.03.2013 see history

osmgpsmap

Requirements from README (*STRONGLY RECOMMENDED*):

==> osmgpsmap is an optional package even the README requires "strongly recommended".

Add this package:

  • 19.01.2014: osmgpsmap is integrated part of the GTK package.

Comments:

  • If you don't have osmgpsmap there will be no message during the start-up of Gramps about a missing osmgpsmap. The only thing is the missing Geographic view in Gramps.
  • There is a warning from the provider of this package: "window resizing crashed". But it seems this doesn't happens for Gramps - may be in rare cases only.

GExiv2

Is an optional package. 19.01.2014: GExiv2 is integrated part of the GTK package.

Because the EditExifMetadata add-on isn't currently available this package is tested for reading exif data only using the "image metadata" gramplet.

gtkspell

Requirements from README (optional package):

  • Enable spell checking in the notes.
  • Gtkspell depends on enchant.
  • A version of gtkspell with gobject introspection is needed, so minimally version 3.0.0.


19.01.2014: The basics to use a spell are already included in the here used GTK package.

Gnome-important.png
At least the content of pygi-aio-3.10.2-win32_rev15-setup.exe used by Gramps forces an crash if libenchant_voikko.dll is available!
It is strongly requested to delete ...\Lib\site-packages\gnome\lib\enchant\libenchant_voikko.dll.

The only missed things may be special myspell dictionaries (comment: Gramps uses myspell only!) . These can be found here:

  • from http://extensions.openoffice.org/ download the language packages of your choice. Included in the there provided .oxt files one can extract by using a program like 7-Zip the necessary .aff and .dic files.
  • alternate extensions.libreoffice.org/
  • Or you may find these files (.aff and .dic) as part of any GrampsAIO installation in "..\share\enchant\myspell"

For our example all files *.aff *.dic have to be stored into "C:\Python27\Lib\site-packages\gnome\share\enchant\myspell".


TODO ISSUE/WORK There are still some issues using spell (as per 019.01.2014):

  • Open the note editor having spell activated slows down the os extremely as longer as larger the text. This may cost more than 45 seconds for a text having 400 lines and 17000 characters. So it's strongly suggested to don't global activate "Enable spelling checker" in Preferences!
  • Up to Gramps 4.0.2 there is a spell related issue #7339 which has to be prevented by the there provided patch!

gir-webkit

Information from README:

  • GObject introspection data of WebKit is required for the hidden view 'Htmlview', which allows websites to be opened in Gramps.
  • Users can unhide the view in the plugin manager.
  • A html renderer must be installed to use the view.
  •  !! PACKAGERS, Test if on your distribution webkit and Gramps is stable. If you obtain crashes, patch src/plugins/view/htmlrenderer.py and src/plugins/view/geoview.gpr.py, so as to remove: from gi.repository import WebKit as webkit


19.01.2014: Webkit is an integrated part of the GTK package.

goocanvas

Information from README:

  • Required for the Graphview plugin

19.01.2014: It's is part of the current GTK package

Not Provided by GTK-AIO package

ICU/PyICU

Requirements from README (*STRONGLY RECOMMENDED*):

19.01.2014: Download http://dl.dropbox.com/u/81888101/Gramps/PYICU_py27_win32.zip (This zip provides ICU/PyICU version 1.5 (for current version information see https://pypi.python.org/pypi/PyICU )

  • Copy all files from PYICU_py27_win32.zip\lib\site-packages to "C:\Python27\Lib\site-packages"
  • Now we have to place the binaries from PYICU_py27_win32.zip\bin to a folder found by Python / Gramps:
    • First Option: Somewhere on hard disc e.g. "C:\icu". In this case we have to add this path to the environment variable PATH.
    • Second Option: Into the same folder as python.exe. That's a good solution for a package, because we don't need any changes for the environment variable PATH. If you don't know, where to put dll (you get an "ImportError: DLL load failed" error), put a *.dll in a "C:\Python27\Lib\site-packages" (without a bin subfolder).

To check ICU/PyICU just try it in Python (don't forget the environment variable PATH):

Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import icu
>>> print icu.ICU_VERSION
50.1.2
>>> print icu.VERSION
1.5

Comment (19.01.2014): There are other unofficial PyICU versions available some where in the web. But be careful to use other than the one above. Unexpected issues may be caused.

GraphViz

Requirements from README (*STRONGLY RECOMMENDED*):

  • Enable creation of graphs using GraphViz engine.
  • Without this no beautiful graphs can be created.
  • Obtain it from: http://www.graphviz.org

19.01.2014: Following the information on http://www.graphviz.org we get the current package from http://www.graphviz.org/Download_windows.php: graphviz-2.36.zip

For the examples we copy the complete content to "C:\Program Files (x86)\Graphviz2.36\".

To give Gramps the access to this software we have to add the directory of the related binaries to the PATH environment variable. But to prevent trouble with the used dll versions between GraphViz and Gramps it's strongly recommended to add this at the end of PATH

SET PATH=%PATH%;C:\Program Files (x86)\Graphviz2.30\bin\
Gnome-important.png
Using "Graph View" GraphViz 2.34 or higher forces an error (#7109 Fixed in Gramps 4.2.0). At #7109 you will find a patch to solve the issue for older versions of Gramps.
Without this patch and a still unsolved issue one should use graphviz-2.30.1.zip from http://www.graphviz.org/pub/graphviz/stable/windows/. The handling is the same as above


Comments: GraphViz will be used e. g. for any report in Reports --> Graphs. Without GraphViz there is only one output format "Graphvi File". If all is OK there are several output formats available (e. g. "PDF (Graphviz)", "JPEG image" etc.).

  1. 7109

pyexiv2

24.02.2013: Will not be used any more, replaced by GExiv2

ghostscript ghostview

Optional packages

  • From http://www.ghostscript.com/download/gsdnld.html download the "Ghostscript GPL Release" for "Ghostscript 9.10 for Windows (32 bit)" and run the downloaded file gs910w32.exe. For the example we again use the default installation.
    • Python / Gramps needs to know the folder where the binaries are stored (default: "C:\Program Files (x86)\gs\gs9.10\bin") by defining the environment variable PATH. SET PATH=%PATH%;C:\Program Files (x86)\gs\gs9.10\bin\
    • As option it's possible to place the content of the binary folder (default: "C:\Program Files (x86)\gs\gs9.10\bin") into the same folder as python.exe to prevent any changes of the environment variable PATH.
  • From http://pages.cs.wisc.edu/~ghost/gsview/get50.htm download and run gsv50w32.exe (e. g. into the default install folder: C:\Program Files (x86)\Ghostgum).
    • Python / Gramps needs to know the folder where the binaries are stored (default: "C:\Program Files (x86)\Ghostgum\gsview") by defining the environment variable PATH.
      Comment: This tool will be used to display .ps files as optional result of reports. So at least it's like e.g. any a .pdf viewer or .rtf viewer. It would be possible to include it into any Gramps package. But as normally nobody would include a .pdf viewer or .rtf viewer into a Gramps package I won't suggest to do that for a .ps viewer.
    • alternate http://portableapps.com/apps/utilities/ghostscript_portable

rcs

Requirements from README (optional package):

--> will not be used
There is still the same issue as in Gramps 3.0.1 and later 3124. 
Currently there is no special code like 'if win(): DON'T USE RCS'.
It seems to be working but the reload from an archived database doesn't run.
Finally it doesn't matter to install rcs.

PIL

Requirements from README (optional package):

  • Python Image Library is needed to convert non jpg images to jpg so as to include them in LaTeX output

From http://www.pythonware.com/products/pil/ download PIL-1.1.7.win32-py2.7.exe. Run this installation to add PIL to the used Python version.

ttf-freefont

Information from README: More font support in the reports

07.03.2013 TODO WORK: How to use for the Windows environment. It's assumed that the fonts should be added to the Graphviz environment, but not yet tested.

Debug Environment

MinGW

TODO WORK: description

Eclipse

TODO WORK: description

dependency viewer

TODO WORK: description

Start Gramps 4.0.x

Get Gramps sources

For all examples it's assumed that the Gramps source (e.g. from the GIT repository https://github.com/gramps-project/gramps or the .tar.gz from from http://sourceforge.net/projects/gramps/files/Stable/../) will be stored into "C:\Gramps4.0".

It's helpful to use a special client for Windows to get these sources. Also if one gets sources only such a tool provides the possibility of history search and or compare and also to mark differences between the current version on the computer and the repository.

There are good experiences using TortoiseGIT from http://code.google.com/p/tortoisegit/.

Prepare Setup

[Changed 03.12.2013] To run setup.py we need the translation tool msgfmt.exe having a proper version. The installer for poedit (http://sourceforge.net/projects/poedit/files/poedit/1.5/poedit-1.5.7-setup.exe/download) provides msgfmt.exe in version 0.18.1.0.

Latest version of poedit available from https://poedit.net/download

For all examples we assume poedit to be installed to: "C:\Program Files (x86)\Poedit" (The default path of the installer).

Run Setup Build

Running "setup.py build" generates necessary translation files (*.mo) and the const.py from const.py.in

Here is an example batch file to run this:

C:
cd C:\Gramps4.0
set path=C:\Python27;C:\Program Files (x86)\Poedit\bin;C:\Program Files (x86)\Poedit\GettextTools\bin;%path%
C:\Python27\python setup.py build
pause

The result should look like this:

running build
Compiling po\bg.po >> share/locale/bg/LC_MESSAGES.
Compiling po\ca.po >> share/locale/ca/LC_MESSAGES.
Compiling po\cs.po >> share/locale/cs/LC_MESSAGES.
Compiling po\da.po >> share/locale/da/LC_MESSAGES.
Compiling po\de.po >> share/locale/de/LC_MESSAGES.
Compiling po\el.po >> share/locale/el/LC_MESSAGES.
Compiling po\en_GB.po >> share/locale/en_GB/LC_MESSAGES.
Compiling po\es.po >> share/locale/es/LC_MESSAGES.
Compiling po\fi.po >> share/locale/fi/LC_MESSAGES.
Compiling po\fr.po >> share/locale/fr/LC_MESSAGES.
Compiling po\he.po >> share/locale/he/LC_MESSAGES.
Compiling po\hr.po >> share/locale/hr/LC_MESSAGES.
Compiling po\hu.po >> share/locale/hu/LC_MESSAGES.
Compiling po\it.po >> share/locale/it/LC_MESSAGES.
Compiling po\ja.po >> share/locale/ja/LC_MESSAGES.
Compiling po\lt.po >> share/locale/lt/LC_MESSAGES.
Compiling po\nb.po >> share/locale/nb/LC_MESSAGES.
Compiling po\nl.po >> share/locale/nl/LC_MESSAGES.
Compiling po\nn.po >> share/locale/nn/LC_MESSAGES.
Compiling po\pl.po >> share/locale/pl/LC_MESSAGES.
Compiling po\pt_BR.po >> share/locale/pt_BR/LC_MESSAGES.
Compiling po\pt_PT.po >> share/locale/pt_PT/LC_MESSAGES.
Compiling po\ru.po >> share/locale/ru/LC_MESSAGES.
Compiling po\sk.po >> share/locale/sk/LC_MESSAGES.
Compiling po\sl.po >> share/locale/sl/LC_MESSAGES.
Compiling po\sq.po >> share/locale/sq/LC_MESSAGES.
Compiling po\sv.po >> share/locale/sv/LC_MESSAGES.
Compiling po\uk.po >> share/locale/uk/LC_MESSAGES.
Compiling po\vi.po >> share/locale/vi/LC_MESSAGES.
Compiling po\zh_CN.po >> share/locale/zh_CN/LC_MESSAGES.
running build_py
....
copying gramps\gen\const.py -> build\lib\gramps\gen
copying gramps\gui\glade\updateaddons.glade -> build\lib\gramps\gui\glade
running build_scripts
creating build\scripts-2.7
copying and adjusting scripts\gramps -> build\scripts-2.7
C:\Gramps4.0>pause
Hit any key . . .


Possible exception:

  • setup.py stops because of a missing "intltool-merge".
  • setup.py assumes for Windows to have either non installed "intltools" or complete installed "intltools". In some rare situations it could be possible to have an incomplete installation of these tools. But because we don't need these tools to run Gramps itself it's necessary to edit setup.py in such cases: Insert "return (0, 0, 0)" direct behind "if sys.platform == 'win32':" in "def intltool_version():".
     ...
 def intltool_version():
     '''
     Return the version of intltool as a tuple.
     '''
     if sys.platform == 'win32':
         return (0, 0, 0)
         cmd = ["perl", "-e print qx(intltool-update --version) =~ m/(\d+.\d+.\d+)/;"]
     ...

Comments:

  • After running this it would be possible to run Gramps from "C:\Gramps4.0" or from some where "C:\Gramps4.0\build\...".
  • For easy handling of sources from the repository the author prefers to run it from "C:\Gramps4.0".
  • It's also possible to generate .mo files by command line jobs. (TODO WORK: description)
  • It's also possible to manipulate const.py manually. (TODO WORK: description)

Work arounds

TODO ISSUE: Each work around to be removed if not necessary any more

19.01.2014: To get the license information within the Help-About dialogue one has to copy the file COPYING from the Gramps sources root (e.g. C:\Gramps4.0) into the to be generated folder <gramps root>\build\data (e.g.: C:\Gramps4.0\build\data).

Overall appearance

A short description 'How to control the general view of Gramps using GTK themes':

  • For our example theme packages have to be stored in "C:\Python27\Lib\site-packages\gnome\share\themes". Per default with the here used GTK package there are three packages available:
    • Adwaita
    • Bluebird
    • Default
    • Emacs
    • Evolve
    • Greybird
    • HighContrast
    • Orion

To select one of these themes one has to manipulate the a special settings.ini file. For our example it's placed there:

  • C:\Python27\Lib\site-packages\gnome\etc\gtk-3.0\settings.ini
  • This example for settings.ini defines the theme "Adwaita" and the font "Segoe UI" having the font size 10:
[Settings]
gtk-theme-name = HighContrast
gtk-font-name = Segoe UI 10

More information and links regarding GTK3 themes may be found in the web (e.g. https://wiki.archlinux.org/index.php/GNOME#Overall_appearance)

Start Gramps

At this point we have a basically running Gramps.

Because we didn't add all packages suggested by the README we didn't have the full functionality. Especially some output formats are not available yet (TODO WORK: Add the missing packages having a usable version.)

For Gramps 4.1 development there may still be issues etc (see bug tracker: http://www.gramps-project.org/bugs/view_all_bug_page.php). It's strongly recommended to use test data for validation only!

To run Gramps a batch seems to be helpful:

set LANG=de_DE
 
@rem may be some time we need an other language
@rem set LANG=de_DE
 
@rem it's a good idea to have a own GRAMPSHOME
set GRAMPSHOME=C:\Gramps40
@rem we need the path of the Gtk binaries
set path=C:\Goocanvas;C:\Program Files (x86)\gs\gs9.10\bin;C:\icu;%path%;C:\Program Files (x86)\Graphviz2.36\bin
 
@rem let's jump to Python binaries
C:
cd C:\Python27
 
@rem call for all version information (e.g. as background for any issue)
python "C:\Gramps4.0\gramps.py" -v
 
@rem let's start Gramps
python "C:\Gramps4.0\gramps.py"
pause

"Gramps -v" should show this information now if one uses the gramps-4.0.2.tar.gz from http://sourceforge.net/projects/gramps/files/Stable/:

Gramps Settings:
----------------
 python    : 2.7.6
 gramps    : 4.0.2
 gtk++     : 3.10.6
 pygobject : 3.10.2
 pango     : 1.36.1
 Not using bsddb3
 bsddb     : 5.3.0
 bsddb.db  : 4.7.25
 cairo     : 1.12.16
 pycairo   : 1.10.0
 osmgpsmap : 1.0
 GExiv2    : 0.4
 ICU       : 50.1.2
 PyICU     : 1.5
 o.s.      : win32

Environment settings:
---------------------
 LANG      : de_DE.UTF-8
 LANGUAGE  : de_DE
 GRAMPSI18N: not set
 GRAMPSHOME: C:\Gramps40
 GRAMPSDIR : not set
 PYTHONPATH:
    C:\Python27\python27.zip
    C:\Python27\DLLs
    C:\Python27\lib
    C:\Python27\lib\plat-win
    C:\Python27\lib\lib-tk
    C:\Python27
    C:\Python27\lib\site-packages
    C:\Python27\lib\site-packages\PIL

Non-python dependencies:
------------------------
 Graphviz  : 2.36
 Ghostscr. : 9.10

System PATH env variable:
-------------------------
    C:\Goocanvas
    C:\Program Files (x86)\gs\gs9.10\bin
    C:\icu
...

Known Major Issues

As known per 2013-12-16

  • GraphViz 2.34 and later causes an error in Graph View:see 7277 for more details(It's solved with the AIO for Gramps 4.1.1)
  • no Django
  • gtkspell:
    • Opening the note editor having spell activated or activating the spell within the note editor blocks Python / the application for a while (as longer as larger the text). Therefore it's suggested to deactivate the spell checker in Preferences. But it's the same if one toggles this feature or changes the spell language interactive using the right mouse context menu in the Note Editor.
    • The spell settings will not be stored.
  • The Geographic view and other gtk parts may generate warnings without any other known effect
  • WinXP (26.12.13): see information above

See also