Difference between revisions of "Windows"

From GnuCash
Jump to: navigation, search
(Gnucash: add configure.in patch)
(Running gnucash via WSL2)
 
(694 intermediate revisions by 68 users not shown)
Line 1: Line 1:
== [[GnuCash]] on Microsoft Windows ==
+
= [[GnuCash]] on Microsoft Windows =
  
This page collects various notes about potentially compiling [[GnuCash]] on Microsoft Windows.
+
This page collects various notes about running [[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.
+
=== Q: Which Windows versions are supported? ===
 +
;Answer: The [{{URL:www}}/download.phtml download page] shows, which Windows version is officially supported by which GnuCash version.
 +
:;Note: ''Windows 3/95/98/Me'' and ''Windows NT3.5/4.0'' have never been supported.
  
Relevant recent gnucash-devel discussion:  
+
=== Q: Where is the binary installer? ===
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016646.html
+
'''A:''' The latest versions can be downloaded from the [{{{{URL:www}}}}/download.phtml download] page on the GnuCash website. Anyone who cares about their data should use the '''released version''' found there.
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016647.html
+
:People looking to test new features - at the risk of running into extra bugs - could try a '''test version''':
* https://lists.gnucash.org/pipermail/gnucash-devel/2005-April/012916.html
+
:* As it is not so easy to build GnuCash under Windows, a daily build of the [{{URL:Build:Win}} stable branch] is made available as well to '''test''' bugfixes.
* http://article.gmane.org/gmane.comp.gnome.apps.gnucash.devel/12615
+
:* To closely follow development on the ''future branch'', which contains new features - and bugs - there are the [[#Q:_Are_there_nightly_builds.3F|nightly builds]]. Expect data loss if you try these though!
  
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)
+
=== Q: Is it possible to compile GnuCash on Windows? ===
 +
'''A:''' Yes. It's cumbersome, but possible. See the instructions in [[Building_on_Windows| Building on Windows]].
  
== Prerequisites ==
+
=== Q: Are there nightly builds? ===
 +
'''A:''' We run nightly builds for the '''stable''' (former <q>maint</q>) and after implmenting its first feature the '''future''' (former <q>master</q>) branch, but it's configured so that it runs only if changes have been pushed since the last build and only if the build is successful; they do fail from time to time. You can find the last 6-12 month's worth of builds at
 +
{{BuildURL}}/builds/win32/
 +
or, more specifically, for [{{URL:Build:Win}}?C=M;O=D stable], on demand for [{{URL:Build:Win|future}}?C=M;O=D future], and [{{URL:Build:Win|build-logs}}?C=M;O=D logs for all builds].
  
=== Mingw32 ===
+
The product of the nightly builds is a Windows installer that will ''replace your existing GnuCash installation''. The future branch ''really is unstable'': Be sure to have suitable backups and don't use it for your "production" books.
See http://www.mingw.org . All available as pre-compiled binaries.
 
  
Many other pre-compiled binaries are also available from http://gnuwin32.sf.net/ . (All gtk-related packages like pkgconfig and libxml2, however, are already included in the large glade package, see below.)
+
=== Q: Anything else? ===
 +
To avoid making the installer file even bigger, some functionality is not available without further downloads and installations of software.
  
=== SVN ===
+
==== Preferences in GnuCash 2.6 and more recent ====
There is an [[Subversion|SVN]] client for windows. You can find one at: http://tortoisesvn.tigris.org
+
gconf has been replaced with another preferences system. On Windows you
 +
will find the preferences directly in the Windows Registry under the
 +
registry key
 +
  HKEY_CURRENT_USER/software/GSettings/org/gnucash/
  
=== guile ===
+
==== Pdf name for invoices ====
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 [http://savannah.nongnu.org/bugs/index.php?func=detailitem&item_id=15972]
 
* 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. <tt>export GUILE_LOAD_PATH='\msys\1.0\local\share\guile\1.6'</tt>
 
* For some srfi's, shared libraries are installed in $prefix/bin, e. g. libguile-srfi-srfi-13-14-v-1-1.dll. You need to copy these DLLs at the same location to a filename that does not have the ''last trailing "-1"'', which in this case is libguile-srfi-srfi-13-14-v-1.dll. On Linux, this would have been done by symlinks, but on windows due to the missing symlinks you have to do this copying yourself.
 
  
One possible set of configure arguments looked like this:
+
This name is controlled by two hidden preferences:
 +
* pdf-export/filename-format
 +
* pdf-export/filename-date-format
  
./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"
+
Both of them will reside in the registry under
 +
HKEY_CURRENT_USER/software/GSettings/org/gnucash/dialogs/general/report
  
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 '(display %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".
+
These won't be there by default (only values that deviate from the default
 +
value will be effectively in the registry). To change it you will first
 +
have to create a sub key named '''pdf-export''.
  
With the above DLL copying of srfi-13-14, code generation in g-wrap will actually work. It will will always show the error message "command 'indent' not found", though, but this can simply be ignored.
+
Under this key you can create two string type keys named '''filename-format'''
 +
and '''filename-date-format'''.
  
=== g-wrap ===
+
This is the definition of these two string keys:
See http://savannah.nongnu.org/bugs/index.php?func=detailitem&item_id=15972
+
;filename-format
 +
:This setting chooses the file name for PDF export. This is a sprintf(3) string with three arguments: "%1$s" is the report name such as "Invoice". "%2$s" is the number of the report, which for an invoice report is the invoice number. "%3$s" is the date of the report, formatted according to the filename-date-format setting. (Note: Any characters that are not allowed in filenames, such as '/', will be replaced with underscores '_' in the resulting file name.)<br/>The default value is %1$s-%2$s-%3$s
  
Status: Compile is possible.
+
;filename-date-format
 +
:This setting chooses the way dates are used in the filename of PDF export. Possible values for this setting are "locale" to use the system locale setting, "ce" for Continental Europe style dates, "iso" for ISO 8601 standard dates , "uk" for United Kingdom style dates, and "us" for United States style dates.
  
Frequent error: If you get the following linker error:
+
==== Finance::Quote ====
C:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.4/libgcc.a(w32-shared-ptr.o)::  
+
For the retrieval of [[Online Quotes]], you will need to install [{{URL:wp}}Perl Perl] and Finance::Quote (F::Q). See [[Online_Quotes#Installing_Perl_on_Windows|Installing Perl on Windows]].
undefined reference to `_imp__GetAtomNameA@12'
 
undefined reference to `_imp__FindAtomA@4'
 
undefined reference to `_imp__AddAtomA@4'
 
undefined reference to `_imp__FindAtomA@4'
 
then it means that your windows DLL directory showed up first before your mingw DLL directory, i. e. the gcc linker command has -Lc:\WINNT\system32 before -L/mingw/lib. This wrong order might be caused from other, linked-in libraries, like from the libguile.la file in guile's library installation. To fix this: Edit the libguile.la file, remove -Lc:\WINNT\system32 so that you can correctly enfore that /mingw/lib comes first in the library search path.
 
  
=== glade ===
+
== GnuCash via Windows Subsystem for Linux 2 ==
http://gladewin32.sourceforge.net
 
This project offers a large (10MB) Installer which also includes all the rest of the gtk/glib platform, including pkgconfig, libxml2 and various other tools.
 
  
=== glib ===
+
For the adventurous user, it is also possible to install and use GnuCash via the Windows Subsystem for Linux 2 (WSL2 in short). The following notes were taken from a message to the gnucash-devel mailing list by user Sherlock:
http://www.gtk.org/download/ has binary windows packages, but the binary is already included in the glade installer above, so no separate download is necessary.
 
  
=== gnome ===
+
=== Install WSL as Administrator ===
A lot of windows binaries for gnome packages missing in the glade package can be found at ftp://ftp.gnome.org.
 
  
GConf, Orbit2, gail, gnome-{common, mime-data, vfs}, intltool, libIDL, libart_lgpl, libbonobo{,ui}, libgnome{,canvas,ui} and pango can be found at:
+
<syntaxhighlight lang="sh">
 +
wsl —install
 +
</syntaxhighlight>
  
* ftp://ftp.gnome.org/pub/gnome/platform/2.12/2.12.2/win32/ (probably more stable)
 
* ftp://ftp.gnome.org/pub/gnome/platform/2.13/2.13.92/win32/ (newer)
 
  
Libgnomeprint, libgnomeprintui and libgtkhtml can be found at:
+
=== Option 1 - Install distributed GnuCash ===
  
* ftp://ftp.gnome.org/pub/gnome/desktop/2.12/2.12.2/win32/ (probably more stable)
+
<syntaxhighlight lang="sh">
* ftp://ftp.gnome.org/pub/gnome/desktop/2.13/2.13.92/win32/ (newer)
+
sudo apt -y update
 +
sudo apt -y upgrade
 +
sudo apt -y install python3-gi python3-gi-cairo gir1.2-gtk-3.0
 +
sudo apt -y install adwaita-icon-theme-full
 +
sudo apt -y install gnucash
  
== Gnucash ==
+
sudo apt -y install make gcc
Instructions on how to tweak ./configure so that it doesn't complain about the missing gnome packages:
+
sudo gnc-fq-update
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-March/016751.html
+
</syntaxhighlight>
* https://lists.gnucash.org/pipermail/gnucash-devel/2006-February/016647.html
 
  
As gnucash uses symbolic links quite a lot, in the first build trials we used a trick to make use of symlinks: We completed a normal build on a SMB networked filesystem from a Linux computer, and then accessed that very same directory from windows. This way, the symlinks appear as normal directories from windows.
 
  
The ./configure line used was
+
=== Option 2 - Install flatpack GnuCash ===
./configure --disable-error-on-warning \
 
  LDFLAGS="-no-undefined -mms-bitfields -L/lib -L/mingw/lib -L/C/WINNT/system32 -lwsock32 -lregex" \
 
  CFLAGS="-I/usr/include -I/usr/local/include -D_WIN32 -DLIBLTDL_DLL_IMPORT -mms-bitfields" \
 
  PKG_CONFIG=/c/GTK2-8-10/bin/pkg-config \
 
  LD_LIBRARY_PATH=/c/GTK2-8-10/lib PATH="/c/GTK2-8-10/bin:$PATH"
 
  
(However, the g-wrap wrapper generator didn't start up successfully when the current working directory was on the SMB share. The g-wrap wrapper generator only works when I'm on the local disc of the computer.)
+
<syntaxhighlight lang="sh">
 +
sudo apt -y install flatpak
 +
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
 +
sudo flatpak install --system flathub org.gnucash.GnuCash
 +
</syntaxhighlight>
  
If the source tree is being checked out on a local windows disk, you need to do some changes in the file config.status. Change the line defining LN_S to read
 
  
s,@LN_S@,touch,;t t
+
=== Option 3 - Set up build environment and build gnucash yourself ===
  
and in the line defining G_WRAP_MODULE_DIR, replace all forward slashes by properly quoted backslashes, e. g.
+
Prepare the build environment:
  
s,@G_WRAP_MODULE_DIR@,c:\\\\GTK2-8-10\\\\share\\\\guile\\\\site,;t t
+
<syntaxhighlight lang="sh">
 +
sudo sed -i "s/^# deb-src/deb-src/" /etc/apt/sources.list
 +
sudo apt -y update
 +
sudo apt -y upgrade
 +
sudo apt -y build-dep gnucash
 +
sudo apt -y install git
 +
sudo apt -y install p7zip-full
 +
sudo apt install at-spi2-core
  
so that guile at runtime will use the windows-style backslash path to find the g-wrap module directory.
+
mkdir -p ~/Documents/gnucash/source
 +
mkdir -p ~/Documents/gnucash/build
  
Also, in order to get ./configure to run successfully, the following two changes were necessary compared to SVN configure.in. Apply them by hand, then run ./autogen.sh, then run ./configure as usual.
+
git clone https://github.com/Gnucash/gnucash.git ~/Documents/gnucash/source
  
--- configure.in        (Revision 13617)
+
cd ~/Documents/gnucash/source
+++ configure.in        (Arbeitskopie)
+
git checkout 5.4
@@ -38,7 +38,7 @@
+
</syntaxhighlight>
# Check for gcc and intltool (somehow breaks the suggested content
 
# order, doesn't it? Whatever.)
 
AC_PROG_CC
 
-AC_PROG_INTLTOOL
 
+AC_PROG_INTLTOOL([],[no-xml])
 
AM_GCONF_SOURCE_2
 
@@ -1368,9 +1368,9 @@
 
          with_zlib=no
 
          AC_CHECK_HEADER(zlib.h, [AC_CHECK_LIB(z, gzread, [with_zlib=yes])])
 
  fi
 
-  if test "$with_zlib" = no; then
 
-          AC_MSG_ERROR([*** zlib is required])
 
-  fi
 
+#  if test "$with_zlib" = no; then
 
+#          AC_MSG_ERROR([*** zlib is required])
 
+#  fi
 
  if test "x$Z_DIR" != "x"; then
 
          Z_CPPFLAGS="-I$Z_DIR/include"
 
          case $host in
 
  
  
=== Status ===
+
Build instructions:
  
The windows port successfully compiled almost all c files in the standard configuration, which were 315 C files. Only 2 or 3 files still were using nonexistent functions, the fork/pipe thing of io-gncxml-v2.c being one of that.
+
<syntaxhighlight lang="sh">
 +
cd ~/Documents/gnucash/build
 +
cmake -DCMAKE_INSTALL_PREFIX=/opt/gnucash ~/Documents/gnucash/source
 +
make
 +
sudo make install
  
There was a weird linker problem in the early porting effort. The src/gnc-module/libgncmodule.la DLL doesn't export its symbols. This DLL simply won't have any exported symbols,  in stark contrast to e.g. src/core-utils/libcore-utils.la, which has all symbols exported just fine. My checking for exported symbols was <tt>nm .libs/libgncmodule.dll.a | grep ' T '</tt>. Turns out the libtool header <ltdl.h> ''must'' have the macros _WIN32 and in particular LIBLTDL_DLL_IMPORT defined or otherwise the linking will fail on windows. Once I do this, these variables marked with "C" disappear in the object file, and all expected symbols correctly appear. That's why these macros are included in the above configure command now. Of course this is nowhere documented, thank you libtool.
+
sudo /opt/gnucash/bin/gnc-fq-update
 +
</syntaxhighlight>
  
===TODO===
+
= Notes =
We collect various TODO-items that need to be solved in order to compile gnucash on Windows.
+
== Error messages, Trace file ==
* <tt>ln -s</tt> - The windows file systems don't have symlinks. GnuCash uses symlinks extensively all over the build system. The literal <tt>ln -s</tt> has been replaced by the macro <tt>LN_S</tt>. This still won't work in all cases because gnucash relies upon content that is created later in the symlinked directory, i.e. simply making a copy is IIRC not sufficient.
+
In the GnuCash application, all error messages are redirected to a ''trace file''. There will be one trace file for each time GnuCash is run. For a user named "myname" these files are located in the folder
 +
* <tt>c:\Documents and Settings\myname\Local Settings\Temp</tt> (Windows XP) or
 +
* <tt>C:\Users\myname\AppData\Local\Temp</tt> (Windows Vista/7).
 +
They are named
 +
* <tt>gnucash.trace.ABCDEF</tt> (GnuCash 2.2.9 and older) or
 +
* <tt>gnucash.trace.ABCDEF.log</tt> (GnuCash 2.4.0 and newer)
 +
where the ABCDEF part is changed randomly on each start of gnucash. See also [[Tracefile]].
  
The more tricky build errors have to do with file systems and process forks. In src/backend/file:
+
If you experience crashes or unexpected behavior, check the latest of these files (or the one created when the problem started) and add all interesting-looking lines of that file to your error reports, at least the lines with the keywords <tt>WARN</tt>ing and <tt>CRIT</tt>ical warning.
  
io-gncxml-v2.c: In function `try_gz_open':
+
See also [[Windows Debugging]].
io-gncxml-v2.c:1221: error: `_O_BINARY' undeclared (first use in this function)
 
io-gncxml-v2.c:1221: error: (Each undeclared identifier is reported only once
 
io-gncxml-v2.c:1221: error: for each function it appears in.)
 
io-gncxml-v2.c:1226: warning: implicit declaration of function `fork'
 
io-gncxml-v2.c:1245: warning: implicit declaration of function `sleep'
 
  
Comments to this on IRC:
+
== Determining the locale ==
  <warlord> it certainly has sleep(), or an equivalent thereof.
+
When asked for the locale, take a look at the Regional Settings in your Control Panel and report the values found for "Standard and Formats", "Location" and "Language for non-Unicode programs".
<warlord> it probably doesn't have pipe -- I'm not sure if there's a better way to use zlib.
+
 
<warlord> cstim: do you have "windows services for unix" installed?
+
Also, use [{{BugURL}}/show_bug.cgi?id=450353 this  bug's] [{{BugURL}}/attachment.cgi?id=90557 attachment] to determine the locale as used internally by gettext.
  <cstim> errr... not that I know of.
+
 
<warlord> You might want to install that.
+
= Problems, issues, comments =
<warlord> That should give you more unixy interfaces.
+
For any problem that occurs now, you should add a new section below.
<warlord> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnucmg/html/UCMGch04.asp
+
 
 +
== Issues with older versions of GnuCash ==
 +
 
 +
In an effort to keep the information somewhat manageable this page will only gather issues with the current stable version of GnuCash. For historical reference, the older issues will be moved to [[Windows/Old Issues|a separate page]].
 +
 
 +
If you experience issues with an older version of GnuCash, the first advice is normally to try again with the current stable version. There may however be situations where you need to revive an older version and in that case the information kept on the [[Windows/Old Issues|older issues page]] may be useful.
 +
 
 +
In addition, if you experience any of the older issues in the current stable release of GnuCash, please [[Bugzilla|file a bug report]] or ask about it on the [[Mailing Lists|user mailing list]].
 +
 
 +
== Known issues ==
 +
Here is a list of the most often mentioned Windows issues. If you experience this problem, please check the respective bugzilla reports for potential workarounds.
 +
* {{BugURL}}/show_bug.cgi?id=466512 Win32: Wrong permissions for .gnucash directory (was: Win32 GnuCash 2.2.1 Fails to Start/Install)
 +
* {{BugURL}}/show_bug.cgi?id=645273#c40 Reports features do not work
 +
 
 +
== Windows 7 64-bit - GnuCash fails to run ==
 +
 
 +
This is with GnuCash 2.4.3:
 +
 
 +
Starting GnuCash shows the splash screen and the tip of the day for a brief instant and then it disappears. To fix the problem, I did:
 +
 
 +
# Right-click on the GnuCash icon and select 'Run as Administrator'
 +
# GnuCash starts up as expected
 +
# Close GnuCash
 +
 
 +
After doing the above once, I can start GnuCash normally and it starts up properly.
 +
 
 +
Hopefully this helps someone. --[[User:Sketch|Sketch]] 05:05, 7 March 2011 (UTC)
 +
 
 +
== Font problems ==
 +
 
 +
After upgrading to 2.2.1, people have reported font-related issues:
 +
 
 +
* The tick/check mark in the Reconcile window may look like a "nondescript squiggle"
 +
* Register windows may open with all transactions scrolled out of sight (upwards)
 +
* Languages other than English show characters as a box of four zeros "0 0 0 0".
 +
 
 +
The reason appears to be that GnuCash is now referring to Windows to determine what fonts to use,
 +
and in both these cases is using the one specified for "Message Box", which defaults to Tahoma 8.
 +
 
 +
Changing to Tahoma 10 fixed both of these for me.
 +
 
 +
The procedure on WinXP is:
 +
# Start -> Control panel or My Computer -> Control panel
 +
# Appearance and Themes -> Display (or, if using the "Classic View", Display)
 +
# Appearance
 +
# Advanced
 +
# Select "Message Box" from the drop-down
 +
# Change as required (e.g. set to Tacoma 10 point)
 +
# OK
 +
# Apply
 +
 
 +
[[User:Fred|Fred]] 10:30, 22 August 2007 (EDT)
 +
:Is this still necessary when using GnuCash 2.2.2? [[User:Andi5|andi5]]
 +
 
 +
I ([[User:piyo|piyo]]) confirmed that the above procedure is necessary for viewing Japanese on Windows XP with GnuCash 2.2.3 (2008-01-08):
 +
* Confirmed that working fonts are '''Arial UI Unicode''', '''FixSys''', '''System''', '''Tahoma''' (including 8!), '''Terminal'''. Also for Japanese, '''MS P Gothic''', '''MS P Mincho''', '''MS UI Gothic''', '''MS Gothic''', '''MS Mincho fonts''' are working.
 +
* Confirmed that non-working fonts are '''Lucida Sans Unicode''' and '''Microsoft Sans Serif'''.
 +
--[[User:Piyo|Piyo]] 23:23, 5 February 2008 (EST)
 +
 
 +
== Program hangs constantly ==
 +
 
 +
(GnuCash 2.4)
 +
 
 +
According to [{{BugURL}}/show_bug.cgi?id=677829 this bug report] GnuCash can become unstable with some themes. The original reporter didn't remember which themes caused issues, but had no problems when using the "Unity" theme.
 +
 
 +
--[[User:GJanssens|GJanssens]] 18 October 2013
 +
 
 +
== Gnucash fails to start with Failed to contact configuration server ==
 +
 
 +
(GnuCash 2.4)
 +
 
 +
Copied from [{{BugURL}}/show_bug.cgi?id=708989 this bug report]:
 +
 
 +
I installed GnuCash on Windows 7 and at one point I received the following error message
 +
 
 +
  Failed to contact configuration server; some possible causes are that you need
 +
  to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a
 +
  system crash. See https://projects-old.gnome.org/gconf/ for information.
 +
  (Details - 1: IOR file
 +
  'C:\Users\Username\AppData\Local\Temp\gconfd-Username/lock/ior' not opened
 +
  successfully, no gconfd located: No such file or directory 2: IOR file
 +
  'C:\Users\Username\AppData\Local\Temp\gconfd-Username/lock/ior' not opened
 +
  successfully, no gconfd located: No such file or directory)
 +
 
 +
I do not know what caused this error message.
 +
 
 +
Uninstalling GnuCash, removing an empty gnucash folder in C:\Program Files
 +
(x86)\, and reinstalling Gnucash does not restore GnuCash. I.e., same error
 +
message was produced.  
 +
 
 +
Cleaning up the windows registry did not help either.
 +
 
 +
What did work was to remove the folder
 +
C:\Users\Username\AppData\Local\Temp\gconfd-Username/   
 +
which did not contain the subdirectory + file lock/ior that is mentioned in the
 +
error message.
 +
 
 +
The folder AppData is hidden (for Windows 7) and needs to be explicitly typed
 +
in the folder browser.
 +
 
 +
And also note that 'Username' should be replaced with your real username in the path (it's in there two times).
 +
 
 +
--[[User:GJanssens|GJanssens]] 18 October 2013
 +
== Windows 11: GnuCash installer quits without doing anything ==
 +
When launching <code>gnucash-setup.exe</code> Windows 10 and Windows 11 usually complain that GnuCash is from an unknown developer and will put up a scary dialog but if you accept the risk it will run the installer after the usual User Authorization Escalation dialog. We've had a [https://bugs.gnucash.org/show_bug.cgi?id=799299 report] that Windows 11 might silently fail to do anything. If that happens to you right-click on <code>gnucash-setup.exe</code> and select Properties from the context menu, then click Unblock and Save. You should be able to launch the installer normally.

Latest revision as of 11:00, 28 September 2024

GnuCash on Microsoft Windows

This page collects various notes about running GnuCash on Microsoft Windows.

Q: Which Windows versions are supported?

Answer
The download page shows, which Windows version is officially supported by which GnuCash version.
Note
Windows 3/95/98/Me and Windows NT3.5/4.0 have never been supported.

Q: Where is the binary installer?

A: The latest versions can be downloaded from the [{{{{URL:www}}}}/download.phtml download] page on the GnuCash website. Anyone who cares about their data should use the released version found there.

People looking to test new features - at the risk of running into extra bugs - could try a test version:
  • As it is not so easy to build GnuCash under Windows, a daily build of the stable branch is made available as well to test bugfixes.
  • To closely follow development on the future branch, which contains new features - and bugs - there are the nightly builds. Expect data loss if you try these though!

Q: Is it possible to compile GnuCash on Windows?

A: Yes. It's cumbersome, but possible. See the instructions in Building on Windows.

Q: Are there nightly builds?

A: We run nightly builds for the stable (former maint) and after implmenting its first feature the future (former master) branch, but it's configured so that it runs only if changes have been pushed since the last build and only if the build is successful; they do fail from time to time. You can find the last 6-12 month's worth of builds at

https://code.gnucash.org/builds/win32/

or, more specifically, for stable, on demand for future, and logs for all builds.

The product of the nightly builds is a Windows installer that will replace your existing GnuCash installation. The future branch really is unstable: Be sure to have suitable backups and don't use it for your "production" books.

Q: Anything else?

To avoid making the installer file even bigger, some functionality is not available without further downloads and installations of software.

Preferences in GnuCash 2.6 and more recent

gconf has been replaced with another preferences system. On Windows you will find the preferences directly in the Windows Registry under the registry key

 HKEY_CURRENT_USER/software/GSettings/org/gnucash/

Pdf name for invoices

This name is controlled by two hidden preferences:

  • pdf-export/filename-format
  • pdf-export/filename-date-format

Both of them will reside in the registry under HKEY_CURRENT_USER/software/GSettings/org/gnucash/dialogs/general/report

These won't be there by default (only values that deviate from the default value will be effectively in the registry). To change it you will first have to create a sub key named 'pdf-export.

Under this key you can create two string type keys named filename-format and filename-date-format.

This is the definition of these two string keys:

filename-format
This setting chooses the file name for PDF export. This is a sprintf(3) string with three arguments: "%1$s" is the report name such as "Invoice". "%2$s" is the number of the report, which for an invoice report is the invoice number. "%3$s" is the date of the report, formatted according to the filename-date-format setting. (Note: Any characters that are not allowed in filenames, such as '/', will be replaced with underscores '_' in the resulting file name.)
The default value is %1$s-%2$s-%3$s
filename-date-format
This setting chooses the way dates are used in the filename of PDF export. Possible values for this setting are "locale" to use the system locale setting, "ce" for Continental Europe style dates, "iso" for ISO 8601 standard dates , "uk" for United Kingdom style dates, and "us" for United States style dates.

Finance::Quote

For the retrieval of Online Quotes, you will need to install Perl and Finance::Quote (F::Q). See Installing Perl on Windows.

GnuCash via Windows Subsystem for Linux 2

For the adventurous user, it is also possible to install and use GnuCash via the Windows Subsystem for Linux 2 (WSL2 in short). The following notes were taken from a message to the gnucash-devel mailing list by user Sherlock:

Install WSL as Administrator

wsl —install


Option 1 - Install distributed GnuCash

sudo apt -y update
sudo apt -y upgrade
sudo apt -y install python3-gi python3-gi-cairo gir1.2-gtk-3.0
sudo apt -y install adwaita-icon-theme-full
sudo apt -y install gnucash

sudo apt -y install make gcc
sudo gnc-fq-update


Option 2 - Install flatpack GnuCash

sudo apt -y install flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install --system flathub org.gnucash.GnuCash


Option 3 - Set up build environment and build gnucash yourself

Prepare the build environment:

sudo sed -i "s/^# deb-src/deb-src/" /etc/apt/sources.list
sudo apt -y update
sudo apt -y upgrade
sudo apt -y build-dep gnucash
sudo apt -y install git
sudo apt -y install p7zip-full
sudo apt install at-spi2-core

mkdir -p ~/Documents/gnucash/source
mkdir -p ~/Documents/gnucash/build

git clone https://github.com/Gnucash/gnucash.git ~/Documents/gnucash/source

cd ~/Documents/gnucash/source
git checkout 5.4


Build instructions:

cd ~/Documents/gnucash/build
cmake -DCMAKE_INSTALL_PREFIX=/opt/gnucash ~/Documents/gnucash/source
make
sudo make install

sudo /opt/gnucash/bin/gnc-fq-update

Notes

Error messages, Trace file

In the GnuCash application, all error messages are redirected to a trace file. There will be one trace file for each time GnuCash is run. For a user named "myname" these files are located in the folder

  • c:\Documents and Settings\myname\Local Settings\Temp (Windows XP) or
  • C:\Users\myname\AppData\Local\Temp (Windows Vista/7).

They are named

  • gnucash.trace.ABCDEF (GnuCash 2.2.9 and older) or
  • gnucash.trace.ABCDEF.log (GnuCash 2.4.0 and newer)

where the ABCDEF part is changed randomly on each start of gnucash. See also Tracefile.

If you experience crashes or unexpected behavior, check the latest of these files (or the one created when the problem started) and add all interesting-looking lines of that file to your error reports, at least the lines with the keywords WARNing and CRITical warning.

See also Windows Debugging.

Determining the locale

When asked for the locale, take a look at the Regional Settings in your Control Panel and report the values found for "Standard and Formats", "Location" and "Language for non-Unicode programs".

Also, use this bug's attachment to determine the locale as used internally by gettext.

Problems, issues, comments

For any problem that occurs now, you should add a new section below.

Issues with older versions of GnuCash

In an effort to keep the information somewhat manageable this page will only gather issues with the current stable version of GnuCash. For historical reference, the older issues will be moved to a separate page.

If you experience issues with an older version of GnuCash, the first advice is normally to try again with the current stable version. There may however be situations where you need to revive an older version and in that case the information kept on the older issues page may be useful.

In addition, if you experience any of the older issues in the current stable release of GnuCash, please file a bug report or ask about it on the user mailing list.

Known issues

Here is a list of the most often mentioned Windows issues. If you experience this problem, please check the respective bugzilla reports for potential workarounds.

Windows 7 64-bit - GnuCash fails to run

This is with GnuCash 2.4.3:

Starting GnuCash shows the splash screen and the tip of the day for a brief instant and then it disappears. To fix the problem, I did:

  1. Right-click on the GnuCash icon and select 'Run as Administrator'
  2. GnuCash starts up as expected
  3. Close GnuCash

After doing the above once, I can start GnuCash normally and it starts up properly.

Hopefully this helps someone. --Sketch 05:05, 7 March 2011 (UTC)

Font problems

After upgrading to 2.2.1, people have reported font-related issues:

  • The tick/check mark in the Reconcile window may look like a "nondescript squiggle"
  • Register windows may open with all transactions scrolled out of sight (upwards)
  • Languages other than English show characters as a box of four zeros "0 0 0 0".

The reason appears to be that GnuCash is now referring to Windows to determine what fonts to use, and in both these cases is using the one specified for "Message Box", which defaults to Tahoma 8.

Changing to Tahoma 10 fixed both of these for me.

The procedure on WinXP is:

  1. Start -> Control panel or My Computer -> Control panel
  2. Appearance and Themes -> Display (or, if using the "Classic View", Display)
  3. Appearance
  4. Advanced
  5. Select "Message Box" from the drop-down
  6. Change as required (e.g. set to Tacoma 10 point)
  7. OK
  8. Apply

Fred 10:30, 22 August 2007 (EDT)

Is this still necessary when using GnuCash 2.2.2? andi5

I (piyo) confirmed that the above procedure is necessary for viewing Japanese on Windows XP with GnuCash 2.2.3 (2008-01-08):

  • Confirmed that working fonts are Arial UI Unicode, FixSys, System, Tahoma (including 8!), Terminal. Also for Japanese, MS P Gothic, MS P Mincho, MS UI Gothic, MS Gothic, MS Mincho fonts are working.
  • Confirmed that non-working fonts are Lucida Sans Unicode and Microsoft Sans Serif.

--Piyo 23:23, 5 February 2008 (EST)

Program hangs constantly

(GnuCash 2.4)

According to this bug report GnuCash can become unstable with some themes. The original reporter didn't remember which themes caused issues, but had no problems when using the "Unity" theme.

--GJanssens 18 October 2013

Gnucash fails to start with Failed to contact configuration server

(GnuCash 2.4)

Copied from this bug report:

I installed GnuCash on Windows 7 and at one point I received the following error message

 Failed to contact configuration server; some possible causes are that you need
 to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a
 system crash. See https://projects-old.gnome.org/gconf/ for information.
 (Details -  1: IOR file
 'C:\Users\Username\AppData\Local\Temp\gconfd-Username/lock/ior' not opened
 successfully, no gconfd located: No such file or directory 2: IOR file
 'C:\Users\Username\AppData\Local\Temp\gconfd-Username/lock/ior' not opened
 successfully, no gconfd located: No such file or directory)

I do not know what caused this error message.

Uninstalling GnuCash, removing an empty gnucash folder in C:\Program Files (x86)\, and reinstalling Gnucash does not restore GnuCash. I.e., same error message was produced.

Cleaning up the windows registry did not help either.

What did work was to remove the folder C:\Users\Username\AppData\Local\Temp\gconfd-Username/ which did not contain the subdirectory + file lock/ior that is mentioned in the error message.

The folder AppData is hidden (for Windows 7) and needs to be explicitly typed in the folder browser.

And also note that 'Username' should be replaced with your real username in the path (it's in there two times).

--GJanssens 18 October 2013

Windows 11: GnuCash installer quits without doing anything

When launching gnucash-setup.exe Windows 10 and Windows 11 usually complain that GnuCash is from an unknown developer and will put up a scary dialog but if you accept the risk it will run the installer after the usual User Authorization Escalation dialog. We've had a report that Windows 11 might silently fail to do anything. If that happens to you right-click on gnucash-setup.exe and select Properties from the context menu, then click Unblock and Save. You should be able to launch the installer normally.