Difference between revisions of "Windows"

From GnuCash
Jump to: navigation, search
m (guile)
(intro text)
Line 2: Line 2:
  
 
This page collects various notes about potentially compiling [[GnuCash]] on Microsoft Windows.
 
This page collects various notes about potentially compiling [[GnuCash]] on Microsoft Windows.
 +
 +
FAQ: Is it possible to compile GnuCash on Windows? A: Currently, no. However, with the 1.9.x/2.0.0 series now being released, gnucash is fully based on gtk2. This means it will probably be rather easy to finish a full windows port. "The other big application" Gnumeric already showed how to do it. Their UI code relies solely on gtk-2.0 (or 2.2 or whatever), i.e. they replaced every dependency on libgnomeui by its gtk equivalent. And gtk-2.2 is fully available on windows. Obviously they managed to do this somehow, so I suspect it shouldn't be too difficult to do the same with gnucash. Also, one of our smaller competitors, Grisbi http://sourceforge.net/projects/grisbi , is offering a windows port by this very same strategy.
  
 
Relevant recent gnucash-devel discussion:  
 
Relevant recent gnucash-devel discussion:  
 
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016646.html
 
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016646.html
 
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016647.html
 
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016647.html
 +
* https://lists.gnucash.org/pipermail/gnucash-devel/2005-April/012916.html
 +
* http://article.gmane.org/gmane.comp.gnome.apps.gnucash.devel/12615
  
Status: It is possible to compile all prerequisites successfully. It remains an open question how to approach the full gnucash package next.
+
Status: It is possible to compile all prerequisites successfully. It remains an open question how to approach the full gnucash package. --[[User:Cstim|Cstim]] 07:55, 3 March 2006 (EST)
  
 
== Prerequisites ==
 
== Prerequisites ==

Revision as of 12:55, 3 March 2006

GnuCash on Microsoft Windows

This page collects various notes about potentially compiling GnuCash on Microsoft Windows.

FAQ: Is it possible to compile GnuCash on Windows? A: Currently, no. However, with the 1.9.x/2.0.0 series now being released, gnucash is fully based on gtk2. This means it will probably be rather easy to finish a full windows port. "The other big application" Gnumeric already showed how to do it. Their UI code relies solely on gtk-2.0 (or 2.2 or whatever), i.e. they replaced every dependency on libgnomeui by its gtk equivalent. And gtk-2.2 is fully available on windows. Obviously they managed to do this somehow, so I suspect it shouldn't be too difficult to do the same with gnucash. Also, one of our smaller competitors, Grisbi http://sourceforge.net/projects/grisbi , is offering a windows port by this very same strategy.

Relevant recent gnucash-devel discussion:

Status: It is possible to compile all prerequisites successfully. It remains an open question how to approach the full gnucash package. --Cstim 07:55, 3 March 2006 (EST)

Prerequisites

Mingw32

See http://www.mingw.org . All available as pre-compiled binaries.

Many other pre-compiled binaries are also available from http://gnuwin32.sf.net/ , for example:

  • pkgconfig
  • libxml2

guile

In guile-1.6.7 several tweaks were necessary to get it to compile.

  • File libguile.c line 479: replace "#elif defined(FIONREAD)" by "#elif 0"
  • File libguile-ltdl/raw-ltdl.c lines 220, 222, 224: remove the LT_GLOBAL_DATA macro on each line
  • Files srfi/Makefile, libguile-ltdl/Makefile, libguile/Makefile: Add "-no-undefined" argument to libxyz_LDFLAGS variables, see also [1]
  • And finally set the env variable GUILE_LOAD_PATH to the actual load path, which is different from the one that was stored during compile due to mingw's path translation. Make e.g. export GUILE_LOAD_PATH=c:/msys/1.0/local/share/guile/1.6/

One possible set of configure arguments looked like this:

./configure --disable-elisp --disable-networking --disable-dependency-tracking --disable-libtool-lock --disable-linuxthreads -C --prefix=/usr/local LDFLAGS="-L/lib -L/mingw/lib -L/C/WINNT/system32 -lwsock32 -lregex"

For testing, first try to make sure "guile -v" will run and give you the version number. Then try a simple expression, like "guile -c '%load-path'". However, so far I was unable to actually start the interactive interpreter (by simple "guile") because the readline library is unavailable. So running "guile" will give "ERROR: In procedure quasiquote: ERROR: Unbound variable: SIGBUS", but at least the code generation in g-wrap will work nevertheless.

g-wrap

See http://savannah.nongnu.org/bugs/index.php?func=detailitem&item_id=15972

Status: Compile is possible.

glib

http://www.gtk.org/download/ also has binary windows packages.

qof

See https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016647.html

Status: Compile is not yet fully possible, but issues could probably be solved quickly.

Gnucash

(Need instructions on how to tweak ./configure so that it doesn't complain about the missing gnome packages and so on.)