Difference between revisions of "Windows"

From GnuCash
Jump to: navigation, search
(A bit of history)
(GnuCash on Microsoft Windows)
Line 1: Line 1:
 
== [[GnuCash]] on Microsoft Windows ==
 
== [[GnuCash]] on Microsoft Windows ==
  
This page collects various notes about running [[GnuCash]] on Microsoft Windows. See [[Windows/Old_Notes]] for old, solved issues.
+
This page collects various notes about running [[GnuCash]] on Microsoft Windows.
  
 
=== Q: Where is the binary installer? ===
 
=== Q: Where is the binary installer? ===

Revision as of 16:47, 18 October 2013

GnuCash on Microsoft Windows

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

Q: Where is the binary installer?

A: Here: https://sourceforge.net/project/showfiles.php?group_id=192 This is the stable version and should be used by anyone who cares about their data.

  • As it is not so easy to build GnuCash under Windows, there is additionaly a weekly build of the stable branch at http://code.gnucash.org/builds/win32/2.4/ for the testing of bugfixes.
  • For the unstable branch, which contains new features - and bugs - there is currently no recent installer at sourceforge, but there are the nightly builds.

Q: Are there nightly builds?

A: Yes! For the unstable branch which contains new features (and potentially new bugs) there is an installer from nightly builds at http://code.gnucash.org/builds/win32/trunk/

Q: Which Windows versions are supported?

A: All versions starting with Windows XP are supported. Windows Vista, Windows 7 and Windows 8 are supported as well. If you encounter any errors on Windows, please report them through Bugzilla. Not supported is Windows 98 and Windows 2000 (anymore, since 2.3.10). Sorry for that.

Q: Is it possible to compile GnuCash on Windows?

A: Yes. It's cumbersome, but possible. See the instructions on this page.

Q: Anything else?

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

Finance::Quote

For online retrieval of price quotes, you will need to install Perl and Finance::Quote (F::Q). Download and install ActivePerl. ActivePerl versions before 5.16.3 may not deliver the latest version of F::Q (1.18 as of this writing). The 32-bit version is recommended, even on 64-bit Windows, but success has also been achieved running the 64 bit version under Windows XP Pro x64 SP2 with both GC 2.4.11 and 2.4.12(YMMV). If prompted, you don't have to provide contact details, just choose the MSI installer for your system. It is strongly recommended to use the default installation directory. If you are upgrading from an earlier version of ActivePerl, uninstall the old version and delete its directory before installing the new one. Once perl is installed, use the start menu item "Install Online Price Retrieval" from the GnuCash group to install the necessary Perl modules for F::Q and verify the setup.

On versions 2.2.6 and before, you will have to use ActivePerl 5.8. The menu item on older versions of GC is "Install Finance-Quote."

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.

Debugging with gdb

In addition to Stack Trace, here are a few instructions on how to run gnucash under gdb on Windows:

  • Install "gdb" from mingw.org [1]
  • GnuCash 2.2.9 and older
  • Modify the installed "bin\gnucash.cmd" script by inserting one and changing one line. It should end like
    set PATH=C:\Program Files\gdb\bin;%PATH%
    start gdb --args gnucash-bin %*
Be careful to use the actual paths in which you have installed gdb.exe
  • Then start gnucash as usual
  • GnuCash 2.4.0 and more recent
  • Open a Windows command prompt and type:
    set PATH=C:\Program Files\gdb\bin;%PATH%
    gdb "C:\Program Files\gnucash\bin\gnucash"
Be careful to use the actual paths in which you have installed gdb and gnucash respectively.
  • For all versions: this will open a 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.

(2.2.9 and older only)If you are working in a MinGW shell, you may want to change and call the bin\gnucash script instead and use exec start gdb --args gnucash-bin "$@" to make Ctrl-C actually work.

If you build gnucash with the help of install.sh, make sure you export DISABLE_OPTIMIZATIONS=yes in packaging/win32/custom.sh to include debugging symbols and avoid optimizations that complicate debugging.

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 here and here for a way to do this.

To enter [ and ], use set editing off.

install.sh

  • To debug install.sh, change set -e to set -ex at the top of it.
  • Once you have installed Subversion, you might want to freqently checkout and update packaging/win32 as described in SVN.
svn checkout http://svn.gnucash.org/repo/gnucash/trunk/packaging/win32 packaging

Console output and exetype

All executables and DLLs on Windows operate in one of a few different subsystems, most of them either in Console or GUI (also called Windows). Basically, executables in Console always start up in a new console window and print output for stdout und stderr to it, whereas ones in GUI do not open windows and are pretty quiet, even in console windows. If you want to change that subsystem type, because you want to see debugging output or hide unnecessary console windows, [2] lists a few possible ways.

The easiest option if you don't have any further build tools available is probably the third one from that mail: Install the MSYS program (needed for building GnuCash) from the pointer at the top section of this page, fetch http://svn.gnucash.org/trac/browser/gnucash/trunk/packaging/win32/exetype.pl and type

exetype.pl gnucash-bin.exe console

If you are building gnucash with install.sh, you might want to automate this step. To do so, just add the following lines to the function make_install in your local install.sh (after "make install"):

   qpushd $_INSTALL_UDIR/bin
   	exetype gnucash-bin.exe console
   qpopd

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.

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.

Errors on Windows 98

Hi, I installed SVN r15355 on Windows 98 and got the following error...

Answer: Gnucash doesn't compile or run on Windows 98. The oldest supported version is (since 2.3.10) Windows XP, nothing older than that. Sorry for that.

DLL install error

I get an error like that:

'libgncmodule.la' 'c:/soft/gnucash/lib/libgncmodule.la'
/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 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. --Cstim 05:55, 4 December 2006 (EST)

Now I got that: http://rafb.net/p/zYqOJv60.html (also after removing the whole soft directory (besides the downloads dir).Calmar

So you have got these errors in at least three different directories and also in a clean environment. The problem always seems to be a missing .lai file. But surprisingly other directories (among them those that failed in other builds) contain such files. The only solution I know is still to cd into the offending directory and to run make clean && make all install. I am sorry for the inconvenience. -- andi5
I was able to solve the problem, with ./install.sh (repeated) until it comes through. After the 5th try or so, it came through :) Very happy I can satisfy now what I promised to my friend (I mean new year is a good start for him). Thanks again for all your help! Good new year everybody!

Actually I still see this error frequently, even when I completely remove the build/ directory and let it be created from scratch. (?!?) As an alternative, I've now tried a newer libtool version by installing the cvs snapshot libtool-1.5.23a from http://www.gnu.org/software/libtool/ . Maybe the newer version has this bug fixed. --Cstim 10:27, 22 January 2007 (EST)

Seems like using libtool-1.5.23a didn't change a thing. I've written a script that should track down potential errors:
#!/bin/sh
ALL_LIBDIR=` find . -name '*.la' | grep '\.libs' `
RM_THESE=""

for LIB in $ALL_LIBDIR ; do
    DIR=`dirname ${LIB}`
    FNAME=`basename ${LIB}`
    LIBBASE=`basename ${LIB} .la`
    if test ! -f "${LIB}i" -a -f "${DIR}/${LIBBASE}.dll.a" ; then
	echo "File ${LIB}i missing"
	PDIR=`dirname ${DIR}`
	#echo "Do this: rm ${PDIR}/${FNAME}"
	RM_THESE="${RM_THESE} ${PDIR}/${FNAME}"
    fi
done

if test "x${RM_THESE}" != "x"; then
    echo "Do this:"
    echo "rm ${RM_THESE}"
fi

So how is someone supposed to use the above script? It says it is supposed to track down potential errors, since it is doing some erasing (rm) does that mean it is fixing the problems as well? Or at least fixing it such that running install.sh again should work?

I have now run make clean && make all install in a particular directory 3 times but still get the same error.

Windows XP Home Edition Problems

Gnucash does not appear to work on windows XP home edition (mediea edition). Gconfd takes a long time to start (5+ minuets) and everything else takes longer and then it just appears to do nothing (even though it is still in the list of processes).

Does GnuCash 2.2.2 work for you? andi5

In my machine it works well, except for the reports, that doesn't work and cause the application to crash. I have installed the last build (15667) on my windows xp home with SP2. -- jeanobrega

Please file a bug report at Bugzilla. andi5

I installed 2.2.3 as well as 2.2.4 and in both cases the same problem appeared. After starting a window like "tip of the day" appears. I tried different treatment (close, ignore, waiting,...) during starting of the programm, but the result was the same in all cases. The Programm was terminated during start up. Does anyone know that problem and how to fix it. I used gnucash for several years under LINUX without one single problem, but due to several reasons I now have to switch to windows.

Please give me some help!!! voradl

GnuCash failing to start in Windows

This seems to be a duplicate of the above problem, but I have a workaround that worked for me.

I'm running GnuCash 2.2.9 on Windows XP Professional, SP2, Firewall (ZoneAlarm) turned off at the moment, and I have put Orbit2 2.13.3 in the bin directory (don't think this makes much difference, fwiw; link to that file is somewhere on this page).

My workaround takes several steps:

  1. I delete .gconfd (in C:\Documents and Settings\Mom).
    1. Then I start GnuCash.
    2. I see that only gnucash-bin.exe is running.
  2. I kill gnucash-bin.exe.
    1. Then I restart GnuCash.
    2. I see that gnucash-bin.exe is running, as well as two copies of gconfd-2.exe. No windows open.
  3. I kill gnucash-bin.exe (I get weird errors reminiscent of https://bugzilla.gnome.org/show_bug.cgi?id=363648 if I kill gconfd-2.exe first).
    1. Then I kill the 2nd gconfd-2.exe.
    2. I start gnucash again.

Viola! GnuCash opens. YMMV Peterkay 05:25, 19 November 2009 (UTC)

Another possibly related issue with Windows 7 64-bit and 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)

Windows 2000 Problems

I downloaded the latest binary today. Installed on Windows 2000 SP4. GnuCash did not display windows fully...

Answer: Gnucash doesn't compile or run on Windows 2000 (anymore). The oldest supported version is (since 2.3.10) Windows XP, nothing older than that. Sorry for that.

Application Error on Exit in XP Pro

I just installed 2.1.1 from SourceForge (not sure the rev number). Install goes okay and program runs fine, but when I exit (using File->Quit) I get a dialog titled

*<no file>: gnucash-bin.exe - Application Error

The text reads:

The instruction at "0x0138a214" referenced memory at "0x014d3aa8".
The memory could not be "read".

Any ideas? I'm a little confused because I was editing my existing GnuCash files (originally 1.8.11, saved using 2.0.1 in Linux), so it shouldn't be <no file>. Here are the contents of the trace file:

*   WARN <qof.engine> [guid_init()] only got 1731 bytes.
The identifiers might not be very random.
*   WARN <gnc.engine> failed to load gnc-backend-postgres from 
C:\Program Files\gnucash\lib\gnucash
*   WARN <gnc.app-util> Could not spawn perl: Failed to execute child 
process (No such file or directory)
*   WARN <qof.session> [qof_session_load_backend()]  failed to load 
gncqof-backend-qsf from c:/soft/gnucash/repos/inst/lib/gnucash
*   WARN <Gdk> gdkselection-win32.c:1068: OpenClipboard failed: Invalid 
window handle.
*   WARN <Gdk> gdkselection-win32.c:1068: OpenClipboard failed: Invalid 
window handle.

--Scbash 13:22, 12 May 2007 (EDT)

Does this still happen with GnuCash 2.2.2? If it does, please file a bug at Bugzilla. andi5

Missing file after extracting Open SSL on Windows XP Pro

This is the error that I got:

3200K .......... .......... .......... .......... .......... 99%  145.77 KB/s
3250K .......... ...                                        100%  834.05 KB/s

20:36:43 (145.65 KB/s) - `c:/soft/tmp/openssl-0.9.8e.tar.gz' saved [3341665/3341665]
Extracting openssl-0.9.8e.tar.gz ... done The system cannot find the path specified.

This is the first error that I got. Everything was fine up to this point.

When I turn on set -ex, I get the following:

++ cp e_os.h e_os2.h include/openssl
+++ unix_path 'C:\WINDOWS\system32\cmd.exe'
+++ echo 'C:\WINDOWS\system32\cmd.exe'
+++ sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'
++ _COMSPEC_U=/C/WINDOWS/system32/cmd.exe
++ PATH=/c/soft/active-perl/ActivePerl/Perl/bin:/c/soft/mingw/bin
++ /C/WINDOWS/system32/cmd.exe //c 'ms\mingw32'
The system cannot find the path specified.
Does that mean that your system lacks C:\Windows\System32\cmd.exe, $TMP_DIR\openssl-0.9.8e\ms\mingw32.bat or what do you think?

C:\Windows\System32\cmd.exe is definitely there.
So is C:\soft\tmp\openssl-0.9.8e\ms\mingw32.bat.

If I hardcode the full path to mingw32 in install.sh like this:

 PATH=$_ACTIVE_PERL_UDIR/ActivePerl/Perl/bin:$_MINGW_UDIR/bin $_COMSPEC_U //c c:\\soft\\tmp\\openssl-0.9.8e\\ms\\mingw32

ming32.bat starts to execute but it generates its own set of errors:

 > perl Configure mingw         
 Can't open perl script "Configure": No such file or directory
 Generating x86 for GNU assember
 Bignum
 The system cannot find the path specified.
 Can't open perl script "bn-586.pl": No such file or directory
 Can't open perl script "co-586.pl": No such file or directory
 DES . . .

So to get beyond that problem, I modified mingw32.bat to start out with a cd command, since it was starting in the C:\ directory:

 cd C:\soft\tmp\openssl-0.9.8e
 perl Configure mingw %1 %2 %3 %4 %5 %6 %7 %8
 @echo off

which allowed it to run a bit further and generated this error:

 Generating x86 for GNU assember
 Bignum
 DES
 crypt
 Blowfish
 CAST5
 RC4
 MD5
 SHA1
 RIPEMD160
 RC5\32
 CPUID
 Generating makefile
 Generating DLL definition files
 Building the libraries
 Building OpenSSL
 mingw32-make: *** [banner] Error 1

I don't think I should keep making these minor adjustments to install.sh and mingw32.bat. There must be something I've done wrong that is causing this problem to appear in the first place.

--FELap09

I am sorry, I do not really know how to help you other than "delete c:\soft\tmp\openssl-*, c:\soft\openssl and retry with -ex". -- andi5
I had a similar problem compiling OpenSSL. It was fixed by uninstalling mingw from its custom location, then allowing the install.sh script to reinstall it. -- cedayiv

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

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.

Windows Vista Problems

A number of people have reported problems running on Windows Vista. Gnucash takes a long time to start and reports an error, then may lock up. The error is "An error occurred while loading or saving configuration information for gnucash. Some of your configuration settings may not work properly.", and, under the Details button,
"Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0 Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0 Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0 Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0 Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0"
Disabling all network interfaces allows Gnucash to work normally for some people. Apparantly there is a shortage of Vista machines in developers' hands, so don't hold your breath for a fix.

I had the above problem in Vista-32 bit. Downloaded ORBit2-2.13.3.zip from ftp://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.13/ and extracted files into GnuCash\bin (backup existing files first) to resolved it. I am using GNUCash 2.2.1, r16462 2007-08-20.

I can confirm that this fix works for me on Vista-32.--Jadlakha 14:54, 8 December 2007 (EST)
I can confirm that this fix works for GnuCash 2.2.2 on Vista x64. Pettijohn 15:09, 18 December 2007 (EST)
The 2.2.2 installer has been updated and should no longer require this fix. I have tested this per the discussion on this bug: http://bugzilla.gnome.org/show_bug.cgi?id=504319 Pettijohn 16:33, 19 December 2007 (EST)

I can also confirm this problem in 2000 SP4 with version 2.2.1. No problems with the install. The above error describes it exactly just without locking up.

This problem is known on all Windows versions. You may also want to go revert to the old ORBit2-2.13.3 version as explained in section Windows#GConf/ORBit COMM_FAILURE (above) for the same problem but on non-Vista OSs.

Had all of the above on Vista... Just tried the GNUcash portable beta and it works like a dream on my Vista build.

"GnuCash portable beta" is this: http://portableapps.com/node/10633 and http://gnucashportable.sourceforge.net/ --Cstim 09:27, 3 January 2008 (EST)
GNUcash PortableApp worked for me, great way to run it on Vista! I got it here: http://portableapps.com/apps/office/gnucash_portable --Andy Prough 23:11, 29 October 2008 (CST)

Finance::Quote Problems with Windows (VISTA 32-Bit SP1)

After installing Finance::Quote (installing ActivePerl and then running "C:\Program Files\gnucash\bin\install-fq-mods.bat") when trying to get actual prices a new black window pops up with "C:\Perl\bin\Perl.exe" on top. But that´s it. Any ideas?

Contribution from Ivan 16.05.2008: I can confirm that 'Finance::Quote' works successfully for me on my Vista SP1 machine ... despite some serious user-errors around the setup (see below). All the work described below happened from 05 May 2008 - 11 May 2008, using GnuCash version 2.2.5.

Initially I installed ActivePerl 5.10, then read the part that said 'use only 5.8', and decided to install 5.8 parallel to 5.10 (seemed like a good idea at the time!). The point being: my configuration deviated seriously from 'normal'.

Clearly that did not work, so I uninstalled 5.10 and 5.8 in that order ... and then re-installed 5.8 only.

This has been successful and I have no issues with the fundamental 'Finance::Quote' functionality currently.

True enough, I can not find a price for 1 DWS fund (but I can for 3 other DWS funds) nor for prices at 'Yahoo! Europe' (does that even exist?), but I would not ascribe these errors to a fundamental failure of the 'Finance::Quote' functionality on my Vista SP1 machine.

There was a format change at yahoo_europe, so it was/is? broken, but that is not restricted to windows. --Fell 19:49, 15 January 2009 (EST)

Logitech QuickCam conflicts

Some Logitech QuickCam software is incompatible with MSYS, and causes the install.sh script to randomly crash and create sh.exe.stackdump files. If you experience this problem, see the MSYS FAQ page or the MinGW mailing list for help.

Development Notes

A review of moving Gnucash to Guile 1.8

Todo

This section is intended mainly for developers to concisely specfiy what issues are open, assigned or closed (and can be removed then).

[/]    AqBanking
[/]    Encoding issues (Bug)
[ ]    Randomness (Mail)
[W] R  GConf/ORBit2
[X]    Finance::Quote
[X] R  Compressed files (Mail)
[X] R  Documentation
[X]    LibOFX
[X] R  Text report crashers (Bug, Bug)
[X] R  Packaging

A lot more, fill me
X = done; W = workaround; / = in-progress, not-yet-done, needs-testing