Difference between revisions of "Windows"

From GnuCash
Jump to: navigation, search
(Runtime issues of binary package)
(Running gnucash via WSL2)
 
(425 intermediate revisions by 67 users not shown)
Line 1: Line 1:
== [[GnuCash]] on Microsoft Windows ==
+
= [[GnuCash]] on Microsoft Windows =
  
This page collects various notes about compiling [[GnuCash]] on Microsoft Windows. See [[Windows/Old_Notes]] for old, solved issues.
+
This page collects various notes about running [[GnuCash]] on Microsoft Windows.
 +
 
 +
=== 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.
 +
 
 +
=== 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 [{{URL:Build:Win}} 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 [[#Q:_Are_there_nightly_builds.3F|nightly builds]]. Expect data loss if you try these though!
  
 
=== Q: Is it possible to compile GnuCash on Windows? ===
 
=== Q: Is it possible to compile GnuCash on Windows? ===
:'''A:''' Well, compiling is possible, and running as well, but so far not everything runs.
+
'''A:''' Yes. It's cumbersome, but possible. See the instructions in [[Building_on_Windows| Building on Windows]].
 +
 
 +
=== 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].
 +
 
 +
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''.
  
=== Q: So, where is the binary? ===
+
Under this key you can create two string type keys named '''filename-format'''
We do not (yet) provide a binary for Windows. The simple reason is already stated above: We know compiling is possible, but the runtime testing has just started, and we expect a lot of issues still need to be resolved. This means the source code will change quite quickly and those early testers are expected to follow those source code changes by getting the code from [[SVN]].  On the other hand, providing a binary would mean people wouldn't follow the source code changes quickly enough, making the testing almost useless. (That would change if someone volunteers to provide e.g. a nightly binary build. Volunteers, anyone?) That's why we still do not provide a binary, until we've received enough positive feedback to know the program can actually be distributed.
+
and '''filename-date-format'''.
  
=== Instructions for an (almost) automated build ===
+
This is the definition of these two string keys:
Copied from http://lists.gnucash.org/pipermail/gnucash-devel/2006-September/018588.html
+
;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
  
Several people have now compiled and run GnuCash on MS Windows by the
+
;filename-date-format
mingw32/gcc compiler environment. These instructions explain how everyone else can give it
+
: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.
a try as well. We would be happy to hear any further feedback about
 
problems or (hopefully) success in this matter.
 
  
We've created a shell script that will download, compile, and install
+
==== Finance::Quote ====
all requirements of GnuCash on Windows and eventually GnuCash itself. It
+
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]].
will even make sure to retrieve the most up-to-date gnucash source code
 
directly from SVN. Running this script will probably download ~200MB of
 
data (but all downloaded data will be cached) and will take anything
 
between 0.5 through 5 hours of time. That shell script is located in
 
packaging/win32/install.sh of the gnucash [[SVN]] sources.  
 
  
Before you can execute this shell script (which will do everything else
+
== GnuCash via Windows Subsystem for Linux 2 ==
automatically), you have to complete these steps manually:
 
  
* Get the contents of the packaging/win32/ directory of gnucash [[SVN]], most up-to-date [http://svn.gnucash.org/repo/gnucash/trunk/packaging/win32/ from SVN], and copy it to some directory on your Windows machine. Do not use a directory that is one of the parent directories of the path you intend to use for the repository in the next step (c:\soft\repos by default). Possible locations are c:\soft\packaging or c:\soft\downloads.
+
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:
  
* Adapt the directory name variables in the custom.sh file according to your preferences; the defaults would install everything in subdirectories below c:\soft. (Note that due to shell syntax, every windows-style backslash has to be specified as two backslashes.)
+
=== Install WSL as Administrator ===
  
* Download the "MSYS" package from http://www.mingw.org/download.shtml -> Section "Current" -> Subsection "MSYS" -> MSYS-1.0.10.exe [http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download Download link]
+
<syntaxhighlight lang="sh">
 +
wsl —install
 +
</syntaxhighlight>
  
* Execute this downloaded package to install it into the chosen directory, say, C:\soft\msys (which is the $MSYS_DIR variable in custom.sh)
 
  
* Download the "wget" package from http://www.mingw.org/download.shtml -> Current -> mingwPORT -> wget-1.9.1-mingwPORT.tar.bz2 [http://prdownloads.sf.net/mingw/wget-1.9.1-mingwPORT.tar.bz2?download Download link] and place the downloaded file in the $DOWNLOAD_DIR you have set in custom.sh
+
=== Option 1 - Install distributed GnuCash ===
  
* Start the MSYS commandline shell by double-clicking the "MSYS" icon on the desktop which should have been created when you installed the MSYS package.
+
<syntaxhighlight lang="sh">
 +
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
  
* Let the automated build begin by typing:
+
sudo apt -y install make gcc
 +
sudo gnc-fq-update
 +
</syntaxhighlight>
  
  $INSTALLER_DIR/install.sh  (the complete path to the install.sh)
 
  
* Some of the downloaded packages are installed through graphical installer dialogs where you can choose an installation directory. In those cases, the install.sh script will tell you in the MSYS window the installation directory that you should choose, according to your settings in custom.sh. Please enter only those installation directory in the installer dialog because otherwise the install.sh script cannot find the newly installed software.
+
=== Option 2 - Install flatpack GnuCash ===
  
* If there haven't been any errors, you should be able (after several hours of compiling and installing) to start gnucash from the MSYS command line by typing
+
<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>
  
  c:/soft/gnucash/bin/gnucash
 
  
or even without MSYS directly by "Start"-> "Run"-> "c:\soft\gnucash\bin\gnucash.bat"
+
=== Option 3 - Set up build environment and build gnucash yourself ===
  
* If there HAVE been errors, then please report them in the Section [[#Problems, issues, comments|Problems, issues, comments]].
+
Prepare the build environment:
  
Please spread the word and report back any problems you encounter. It is
+
<syntaxhighlight lang="sh">
probably not too difficult anymore to create a full self-contained
+
sudo sed -i "s/^# deb-src/deb-src/" /etc/apt/sources.list
package of GnuCash on Windows as well! Some more information is also
+
sudo apt -y update
collected here on this wiki page.
+
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
  
=== A bit of history ===
+
mkdir -p ~/Documents/gnucash/source
This page used to collect random notes from the time when we manually tried to install each and every part of the requirements. They have been moved to [[Windows/Old Notes]].
+
mkdir -p ~/Documents/gnucash/build
  
== Notes ==
+
git clone https://github.com/Gnucash/gnucash.git ~/Documents/gnucash/source
  
=== gdb ===
+
cd ~/Documents/gnucash/source
In addition to [[Stack Trace]], here are a few instructions on how to run gnucash under gdb on Windows:
+
git checkout 5.4
* Install "gdb" from mingw.org
+
</syntaxhighlight>
* Modify the installed "gnucash" script to call "exec gdb gnucash-bin.exe" instead of "exec gnucash-bin.exe" at the end
 
* Then start gnucash, which will give you the gdb prompt
 
* Type "run" at the gdb prompt.  
 
* Then provoke the crash and type "backtrace" or shorthand "bt" at the gdb prompt to obtain the backtrace, as explained on [[Stack Trace]] as well.
 
  
You can provide even better stack traces if you tell gdb where in memory dynamically loaded modules got mapped to, because otherwise function calls into those are only written as '??'. See [http://lists.gnucash.org/pipermail/gnucash-devel/2006-November/019042.html here] and [http://lists.gnucash.org/pipermail/gnucash-devel/2006-November/019048.html here] for a way to do this.
 
  
=== install.sh ===
+
Build instructions:
* To debug install.sh, change <tt>set -e</tt> to <tt>set -ex</tt> at the top of it.
 
* Once you have installed Subversion, you might want to checkout and update packaging/win32 as described in [[SVN]].
 
svn checkout <nowiki>http://svn.gnucash.org/repo/gnucash/trunk/packaging/win32</nowiki> packaging
 
  
== Problems, issues, comments ==
+
<syntaxhighlight lang="sh">
 +
cd ~/Documents/gnucash/build
 +
cmake -DCMAKE_INSTALL_PREFIX=/opt/gnucash ~/Documents/gnucash/source
 +
make
 +
sudo make install
 +
 
 +
sudo /opt/gnucash/bin/gnc-fq-update
 +
</syntaxhighlight>
 +
 
 +
= 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
 +
* <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]].
 +
 
 +
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.
 +
 
 +
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 [{{BugURL}}/show_bug.cgi?id=450353 this  bug's] [{{BugURL}}/attachment.cgi?id=90557 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.
 
For any problem that occurs now, you should add a new section below.
  
=== pkg-config ===
+
== Issues with older versions of GnuCash ==
Error: Endless loop with "The application failed to initialize properly (0xc0000142)."
+
 
problem is in install.sh (rev.15222 lines 541,546) the pkg_config here-file should not use the $(PKG_CONFIG) variable since it creates a self-referential-script.   
+
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]].
:Indeed, r15215 (r12155 is irrelevant here) introduced a regression, because the pkg-config-msys.sh script must not use $PKG_CONFIG as we export that. (Cstim says: Sorry, I replaced too much of pkg-config calls - my fault.) Fixed in r15224.
+
 
 +
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 disappearsTo 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 ==
  
===Creating a binary package===
+
(GnuCash 2.4)
A script that copies everything that is needed for providing a binary has been added to SVN into packaging/win32. Its name is <tt>dist.sh</tt> and it will create the directory "dist" below the installation directory of gnucash, so by default the result will be copied to c:\soft\gnucash\dist .  
 
  
Additionally, an input script to the [http://www.jrsoftware.org/isdl.php Inno Setup Compiler] has been added to packaging/win32. That one can be run after <tt>dist.sh</tt> has finished, and it should package up everything in the dist directory into a self-installing setup.exe file. Feel free to try that and report back whether it works.
+
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.
:r15224-error unzip: command not found - basically the environment isnt getting setup from custom.sh completely.  in particular, function inst_unzip() from install.sh.  [[User Hfelton|Hfelton]]
 
::Did you execute the commands install.sh printed after it finished? These will make both, your running MSYS shell as well as new ones, ready for dist.sh. You can easily see them if you rerun install.sh, but comment out <tt>add_step svn_up</tt> and <tt>add_step inst_gnucash</tt> in <strike>dist.sh</strike>custom.sh first, otherwise be prepared to wait again ;-) -- [[User:Andi5|andi5]]
 
:::ive been modifying install.sh (adding profile.d/inno-setup) and im wondering who/where to submit changes. [[User:Hfelton|h]] 17:55, 19 December 2006 (EST)
 
::::As written in README or HACKING: Send message to the [[Mailing Lists]] gnucash-devel.
 
:::i was unable to do the shortcuts described, but after the long-wait i WAS able to complete/test everything and it worked!  steps i needed to do were: 1) manually create c:\soft\msys\etc\profile.d directory; 2) copy/paste the commands that got printed out due to the finish function which setup the environment variables into installer.sh (created manually inside profile.d); 3) open a new mingw-window (environment is ok now) and run dist.sh; 4) download/install the inno-setup-quickstart-pack (easier to use than generic innosetup); 5) run inst-tool and open the c:\soft\repos\packaging\win32\gnucash.iss file; 6) compile, then test-run/install gnucash in the 'normal' program_files location!  only thing that sorta didnt work was that i tried running the tutorial and the doc-system was not installed...  anyways - i think most of the initial-profile-issues would be cleared up with a few adjustments to the install.sh script (which cannot be run from the repos\packaging\win32 location directly because it tries to svn-up itself and fails).
 
  
====Runtime issues of binary package====
+
--[[User:GJanssens|GJanssens]] 18 October 2013
I have completed install.sh; the installed gnucash.bat can be started from Start->Execute and gnucash will run fine, including all features that are available.
 
  
Now I'm working on the binary package. I have run dist.sh, followed by "ISCC.exe gnucash.iss", which created the 27MB setup.exe of gnucash. This can be installed and uninstalled just fine. However, when I run the gnucash.bat from that installation, the "Reports" menu does not appear. (Additionally, various error messages are printed into gnucash.trace.) After r15236, gnucash won't start up in this case but instead it will abort with the message "engine initialization failed". I'm trying to track down when the initialization fails, and when it doesn't.
+
== Gnucash fails to start with Failed to contact configuration server ==
: i have not yet joined the mailing-lists [will soon], but there are definitely subtleties with this installation-process.  my interest lies in the prior shell-scripts, but i can tell you that the iss-file needs some ispp-work applied to it, imho.  ---begin soapbox---  iscc needs to make the app-name a one-time-variable, etc.  until the script has been generalized, it is going to be a bit flaky.  also, until a test-harness has been installed - ANY code can be a bit flaky.  setting up a test-harness is hard work.  ive spent a fair-amount of time just trying to understand the single-function quiet in the install.sh script because of subtleties in the trap-function of the mingw-shell that are coming to light via a mini test-harness.  ---end soapbox--- [[User:Hfelton|h]] 16:28, 20 December 2006 (EST)
 
# It works when running gnucash in the $prefix directory, from gnucash.bat that was generated by install.sh.
 
# It ''fails'' appear when running gnucash in the installation directory where the setup.exe was installed, from gnucash.bat that was generated by setup.exe.
 
# It ''fails'' when running gnucash from the $prefix/dist/ directory, when editing the gnucash.bat of step 1 to change all $prefix paths into $prefix/dist for the gnucash parts, leaving the other paths unchanged. The errors in gnucash.trace include the following:
 
Error: gnc_component_manager_init(): component manager already initialized
 
gnc_options_ui_initialize: assertion `optionTable == NULL' failed
 
plugin_services_init: assertion `services == NULL' failed
 
plugin_service_define: assertion `NULL == g_hash_table_lookup (services, type_str)' failed
 
* It works when moving the $prefix directory to some other name, and editing the gnucash.bat of step1 to change all $prefix paths accordingly for the gnucash parts, leaving the other paths unchanged. So the problem might be related to the file copying of dist.sh
 
:Note that gnucash.trace, when compared to step 1, now has the error message "Warning: qof_session_load_backend():  failed to load gncqof-backend-qsf from $prefix/lib", which is understandable because the loading point of the QSF backend (lib/libqof/qof/qofbackend.c) is the very last place in gnucash where a hard-coded path is used instead of a relocatable solution.
 
* It ''fails'' when copying $prefix/* (everything from that directory) to /some/where and editing gnucash.bat. (It used to work once, but after r15236 it always failed in this case.) It fails regardsless of whether the target directory is below $prefix or not, and also regardless of "cp -r", or "cp -a", or the Windows explorer for copying, or using zip/unzip for copying.
 
**Really really weird. If you make "mv $prefix foo" (and adapt gnucash.bat), it works, but if you make "mkdir foo; cp -r $prefix/* foo" (and adapt gnucash.bat), then it doesn't work.
 
:Business as usual: Works for me. The only thing i needed is the oneliner in r15239. Will test on a vanilla computer tomorrow. -- [[User:Andi5|andi5]]
 
  
===DLL install error===
+
(GnuCash 2.4)
I get an error like that:
 
  
'libgncmodule.la' 'c:/soft/gnucash/lib/libgncmodule.la'
+
Copied from [{{BugURL}}/show_bug.cgi?id=708989 this bug report]:
/bin/install -c .libs/libgncmodule.dll.a
 
c:/soft/gnucash/lib/libgncmodule.dll.a
 
base_file=`basename ${file}`
 
  dlpath=`/bin/sh 2>&1 -c '. .libs/'${base_file}'i;echo $dlname'`
 
make[5]: *** [install-libLTLIBRARIES] Error 1
 
make[5]: Leaving directory `/c/soft/repos/src/gnc-module'
 
make[4]: *** [install-am] Error 2
 
  
This seems to be only an installation problem. Fine compiling it seems.
+
I installed GnuCash on Windows 7 and at one point I received the following error message
:I saw this at "make install" when I stopped and restarted the preceding compiling several times. So to me this looks like an artifact of DLLs that somehow "don't fit" to each other. The solution was always to run "make clean" in the source directory so that all DLLs are being deleted, and then starting the compiling again. --[[User:Cstim|Cstim]] 05:55, 4 December 2006 (EST)
 
  
=== cannot move on swigwin ===
+
  Failed to contact configuration server; some possible causes are that you need
Extracting swigwin-1.3.29.zip ... done
+
  to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a
mv: cannot move `mydir/Examples' to `./Examples'. I copied them manually then [[User:Calmar|Calmar]] 08:48, 4 December 2006 (EST)
+
  system crash. See https://projects-old.gnome.org/gconf/ for information.
:I guess the swig installation is not perfect with regard to updates. I will try to improve that. Meanwhile, removing the c:\soft\swig directory completely should solve the issue. -- [[User:Andi5|andi5]]
+
  (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)
  
=== Text reports crash ===
+
I do not know what caused this error message.
Some text report crashed instantly, but on some other machines they worked fine. Same for graphical reports. Debugging is ongoing. When you run gnucash in gdb, the crash does reliably ''not'' occur the text reports.
 
:What we currently know: GnuCash spits a warning ([http://bugzilla.gnome.org/show_bug.cgi?id=378158]), but does not crash because of it. It crashes because of something different (in WinAPI?) we cannot detect in gdb. isDebuggerPresent() might be true, but a breakpoint will only be set for fatal errors, so we cannot set a breakpoint. We also cannot start gnucash with --g-fatal-warnings though, as a standard win32 glib build aborts the application after a critical error [http://bugzilla.gnome.org/show_bug.cgi?id=376645].
 
::The issue is described in this [http://bugzilla.gnome.org/show_bug.cgi?id=382852 bug] and a solution is committed in SVN's install.sh in r15213. Hopefully, these crashers are fixed now :) I think removal of c:\soft\regex, \guile, \tmp\guile-1.6.8 and \gnucash (the previous installation) is necessary. -- [[User:Andi5|andi5]]
 
:::Thanks for the fix in r15213! Indeed I don't see any crash anymore, and even the graphical reports (wohoo!) work correctly. (The warning of [http://bugzilla.gnome.org/show_bug.cgi?id=378158] is still there, though.) --[[User:Cstim|Cstim]] 10:50, 15 December 2006 (EST)
 
  
=== GConf/ORBit COMM_FAILURE ===
+
Uninstalling GnuCash, removing an empty gnucash folder in C:\Program Files
On some computers (Windows 2000/SP4), the following error has been observed, but on other computers GConf runs fine. GConf shows plenty of error messages like these: "Failed to save key /apps/gnucash/window/pages/account_tree/name_visible: Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0" and also the "Cannot find default values" dialog is shown on each startup, regardless whether the "setup" is done or not. Also, the startup of GnuCash might open dozens of shell windows one after the other, and the startup of GnuCash is incredibly slow.
+
(x86)\, and reinstalling Gnucash does not restore GnuCash. I.e., same error
 +
message was produced.  
  
This is being reported to the ORBit crew as [http://bugzilla.gnome.org/show_bug.cgi?id=363648 bug#363648]. As a quick workaround, you have to install ORBit2-2.13.3 from [ftp://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.13/ here] instead of 2.14.2, as this seems to fix that problem.
+
Cleaning up the windows registry did not help either.
  
=== Failed to fork ===
+
What did work was to remove the folder
When starting GNUCash I receive the following message:
+
C:\Users\Username\AppData\Local\Temp\gconfd-Username/   
gnucash: [E] "Failed to fork child process."
+
which did not contain the subdirectory + file lock/ior that is mentioned in the
It is not a fatal error (program continues to load).  Is this something I can safely ignore?  --[[User:Scbash|Scbash]] 17:10, 3 December 2006 (EST)
+
error message.
:This is from the file process.scm and it concerned with the Finance::Quote script for stock price retrieval. Chris wrote: "That's process.scm which is run during price-quote retrieval.  Perhaps guile's (primitive-fork) doesn't work on win32." You can ignore this for now. On the other hand, this means Finance::Quote and price retrieval currently doesn't work yet. --[[User:Cstim|Cstim]] 16:07, 4 December 2006 (EST)
 
  
=== Reading/writing compressed files===
+
The folder AppData is hidden (for Windows 7) and needs to be explicitly typed
The current win32 SVN code doesn't read or write compressed (gzip'd) files. On Linux, gnucash forks gzip as a child process and pipes the file through it. On windows, there isn't an easy replacement for fork() and pipe(). See src/backend/file/io-gncxml-v2.c:1246 ff.
+
in the folder browser.
  
As a consequence, a linux-stored data file which, by default, is stored in compressed form cannot be read by the Windows version at the moment. If you want to use the linux datafile, you need to switch off file compression beforehand.
+
And also note that 'Username' should be replaced with your real username in the path (it's in there two times).
Or 'mv datafile datafile.gz && gunzip datafile.gz #providing a .gz suffix, and finally unzipping it'
 
  
== Todo ==
+
--[[User:GJanssens|GJanssens]] 18 October 2013
This section is intended mainly for developers to concisely specfiy what issues are open, assigned or closed (and can be removed then).
+
== Windows 11: GnuCash installer quits without doing anything ==
[ ] [[Windows#Text reports crash|R]] Text report crashers ([http://bugzilla.gnome.org/show_bug.cgi?id=382852 Bug], [http://bugzilla.gnome.org/show_bug.cgi?id=378158 Bug])
+
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.
[ ] [[Windows#GConf/ORBit COMM_FAILURE|R]]  GConf/ORBit2
 
[ ] [[Windows#cannot move on swigwin|R]]  SWIG installation (minor)
 
[ ]    Finance::Quote
 
[ ]    AqBanking
 
[ ]    Packaging
 
[ ]    Randomness ([http://lists.gnucash.org/pipermail/gnucash-devel/2006-December/019289.html Mail])
 
[ ] [[Windows#Reading/writing compressed files|R]]  Compressed files
 
A lot more, fill me
 

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.