Difference between revisions of "Windows"

From GnuCash
Jump to: navigation, search
(Q: Is it possible to compile GnuCash on Windows?: Alternatives)
(Instructions for an (almost) automated build: Updates to accomodate both svn and git. The process could be simplified still with a bootstrap script, but we don't have that yet...)
Line 42: Line 42:
  
 
We've created a shell script that will download, compile, and install
 
We've created a shell script that will download, compile, and install
all requirements of GnuCash on Windows and eventually GnuCash itself. It will even retrieve the most up-to-date gnucash source codedirectly from SVN. Running this script will probably download ~200MB of data (but all downloaded data will be cached) and will take anything
+
all requirements of GnuCash on Windows and eventually GnuCash itself. 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
 
between 0.5 through 5 hours of time. That shell script is located in
packaging/win32/install.sh of the gnucash [[SVN]] sources.  
+
packaging/win32/install.sh of the gnucash [[SVN]] sources.
  
Windows XP or Windows Vista is strongly recommended for building Gnucash using install.sh (see below).  Windows 2000 support is dropped starting from GnuCash 2.3.10, older versions of Windows are not supported.
+
;Warning : Windows XP or more recent is required for building Gnucash using install.sh (see below).  Windows 2000 support was dropped starting from GnuCash 2.3.10, older versions of Windows are not supported.
  
In the following discussion, the c:\soft root folder should be replaced by whatever GLOBAL_DIR value you specified in your custom.sh (see below for custom.sh)Replacing the drive letter in GLOBAL_DIR works fine with minor complaints, but replacing "soft" may lead to problems.
+
'''Some notes upfront'''
 +
:*GnuCash is currently in a transition from svn to git as the master repository. Currently either version control system can be used still, but git will be the preferred one in the future. These instructions will explain what is required for both systems. Git specific actions will be marked with '''git''', subversion specific actions will be marked with '''svn'''.
 +
:*In the following discussion, the ''c:\soft'' root folder should be replaced by whatever base folder you wish to work in. Avoid pathnames with spaces in them (so ''c:\Program Files'' is not good). Some parts of the build system don't cope well with that. If you choose a path other than ''c:\soft'', be sure to set the '''GLOBAL_DIR''' parameter to this path in custom.sh later on (see below).
 +
:*When installing packages in the script, it is strongly recommended that the expected locations are specifiedExample: msys in ''c:\soft\msys''.
  
When installing packages in the script, it is strongly recommended that the expected locations are specified.  Example: msys in c:\soft\msys.
+
Before you can execute this shell script (which will do everything else automatically), you have to complete these steps manually:
  
Before you can execute this shell script (which will do everything else automatically), you have to complete these steps manually:
+
* '''git''' Download and install [http://git-scm.com/downloads git for Windows]. The preferred location to install it is $GLOBAL_DIR\git-1.7.10. If you install in another location, you will have to set GIT_DIR in custom.sh later on. The installer will add some git related items in the Windows Explorer context menus (you can access them via right-click in any directory)
 +
 
 +
* '''svn''' Download and unpack [http://subversion.tigris.org/files/documents/15/47914/svn-win32-1.6.6.zip subversion for Windows] on your system. The preferred location to unpack this file into is $GLOBAL_DIR\svn. If you install in another location, you will have to set SVN_DIR in custom.sh later on.
 +
 
 +
* Choose a spot where you want to store a copy of the GnuCash repository. The default path is $GLOBAL_DIR\gnucash\repos.
 +
 
 +
* Create all directories in the path except the last one. For the example, make sure $GLOBAL_DIR\gnucash exists
 +
 
 +
* '''git''' Open a Windows explorer and go to $GLOBAL_DIR\gnucash (or your chosen location)
 +
 
 +
* '''git''' Right-click. In the popup select '''git bash'''. This will open a command prompt.
 +
 
 +
* '''git''' Enter: <code>git clone git://github.com/Gnucash/gnucash.git repos</code> The last part should be what you chose the call the directory to store the copy of the GnuCash repository.
 +
 
 +
* '''svn''' Open a Windows command prompt (cmd) and enter the following command
 +
  c:\soft\svn\bin\svn checkout http://svn.gnucash.org/repo/gnucash/trunk c:\soft\gnucash\repos
 +
:Replace ''c:\soft\gnucash\repos'' with whatever you chose as the location for your GnuCash repository, and c:\soft\svn with whatever path you chose to install svn in.
  
* 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\gnucash\repos by default). A strongly recommended location is c:\soft\packaging.
+
* Go into the directory c:\soft\gnucash\packaging\win32.
  
 
* Take a look at the comments at the top of <tt>defaults.sh</tt> and optionally create a file <tt>custom.sh</tt> to specify directories 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.) Do not modify defaults.sh; make a custom.sh.
 
* Take a look at the comments at the top of <tt>defaults.sh</tt> and optionally create a file <tt>custom.sh</tt> to specify directories 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.) Do not modify defaults.sh; make a custom.sh.
 +
:* In here you may also specify GLOBAL_DIR, REPOS_DIR, SVN_DIR, GIT_DIR,... if you installed any of these in a non-standard directory.
 +
:* If you chose to use svn as version control system, also add <code>REPOS_TYPE="svn"</code> in custom.sh.
  
 
* Download the "MSYS" package from https://sourceforge.net/downloads/mingw  -> MSYS -> Base -> msys-core -> msys-1.0.11 -> MSYS-1.0.11.exe [http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.11/MSYS-1.0.11.exe/download Direct Download link]
 
* Download the "MSYS" package from https://sourceforge.net/downloads/mingw  -> MSYS -> Base -> msys-core -> msys-1.0.11 -> MSYS-1.0.11.exe [http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.11/MSYS-1.0.11.exe/download Direct Download link]
 +
 
* Execute this downloaded package to install it into the chosen directory, say, C:\soft\msys (which is the $MSYS_DIR variable in <tt>defaults.sh</tt>, and is strongly recommended; be sure to override $MSYS_DIR in <tt>custom.sh</tt> if you put it somewhere else.) '''NB: That's ''not'' C:\soft\msys\1.0, just C: \soft\msys!'''
 
* Execute this downloaded package to install it into the chosen directory, say, C:\soft\msys (which is the $MSYS_DIR variable in <tt>defaults.sh</tt>, and is strongly recommended; be sure to override $MSYS_DIR in <tt>custom.sh</tt> if you put it somewhere else.) '''NB: That's ''not'' C:\soft\msys\1.0, just C: \soft\msys!'''
  

Revision as of 13:41, 14 August 2012

GnuCash on Microsoft Windows

This page collects various notes about compiling GnuCash on Microsoft Windows. See Windows/Old_Notes for old, solved issues.

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 and Windows 7 are supported as well. If you encounter any errors on Windows 7, 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 painful, but possible. See the instructions below.

It would probably be less painful, to download a Linux Distribution of your choice and
and develop under Linux.

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. Download and install ActivePerl 5.8 or 5.10. Use 32-bit version, even on 64-bit Windows. If prompted, you don't have to provide contact details, just choose the MSI installer for your system. Then, use the start menu item "Install Online Price Retrieval" from the GnuCash group to install the necessary Perl modules 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 is "Install Finance-Quote."

2.2.0 only: Online Banking Setup Druid (needs Qt)

In the gnucash-2.2.0 package, you have to install an extra package for the online banking setup. In newer packages (2.2.1 and higher) this is no longer necessary and you should ignore the rest of this section.

In the 2.2.0 package: For the Online Banking Setup Druid (AqBanking), you have to download the library "Qt" from Trolltech. Download the latest package qt-win-opensource-4.x.y-mingw.exe (where x.y is some version number) and install it. Don't do this for gnucash-2.2.1 or higher, as this ships with its own version of the Qt libraries in the gnucash/bin directory!

After the installation completed, additionally you need to add the "bin" subdirectory of the newly installed Qt library (e.g. C:\Qt\4.2.3\bin) to your "PATH" environment variable. How to do this on Windows XP is described here.

Instructions for an (almost) automated build

These instructions explain how you can compile and run GnuCash on MS Windows by yourself. This is achieved by using the mingw32/gcc compiler environment. (If you want to use the Visual Studio compiler, see the sub-project Cutecash, but the instructions below must be followed first as well.)

We've created a shell script that will download, compile, and install all requirements of GnuCash on Windows and eventually GnuCash itself. 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.

Warning 
Windows XP or more recent is required for building Gnucash using install.sh (see below). Windows 2000 support was dropped starting from GnuCash 2.3.10, older versions of Windows are not supported.

Some notes upfront

  • GnuCash is currently in a transition from svn to git as the master repository. Currently either version control system can be used still, but git will be the preferred one in the future. These instructions will explain what is required for both systems. Git specific actions will be marked with git, subversion specific actions will be marked with svn.
  • In the following discussion, the c:\soft root folder should be replaced by whatever base folder you wish to work in. Avoid pathnames with spaces in them (so c:\Program Files is not good). Some parts of the build system don't cope well with that. If you choose a path other than c:\soft, be sure to set the GLOBAL_DIR parameter to this path in custom.sh later on (see below).
  • When installing packages in the script, it is strongly recommended that the expected locations are specified. Example: msys in c:\soft\msys.

Before you can execute this shell script (which will do everything else automatically), you have to complete these steps manually:

  • git Download and install git for Windows. The preferred location to install it is $GLOBAL_DIR\git-1.7.10. If you install in another location, you will have to set GIT_DIR in custom.sh later on. The installer will add some git related items in the Windows Explorer context menus (you can access them via right-click in any directory)
  • svn Download and unpack subversion for Windows on your system. The preferred location to unpack this file into is $GLOBAL_DIR\svn. If you install in another location, you will have to set SVN_DIR in custom.sh later on.
  • Choose a spot where you want to store a copy of the GnuCash repository. The default path is $GLOBAL_DIR\gnucash\repos.
  • Create all directories in the path except the last one. For the example, make sure $GLOBAL_DIR\gnucash exists
  • git Open a Windows explorer and go to $GLOBAL_DIR\gnucash (or your chosen location)
  • git Right-click. In the popup select git bash. This will open a command prompt.
  • svn Open a Windows command prompt (cmd) and enter the following command
 c:\soft\svn\bin\svn checkout http://svn.gnucash.org/repo/gnucash/trunk c:\soft\gnucash\repos
Replace c:\soft\gnucash\repos with whatever you chose as the location for your GnuCash repository, and c:\soft\svn with whatever path you chose to install svn in.
  • Go into the directory c:\soft\gnucash\packaging\win32.
  • Take a look at the comments at the top of defaults.sh and optionally create a file custom.sh to specify directories 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.) Do not modify defaults.sh; make a custom.sh.
  • In here you may also specify GLOBAL_DIR, REPOS_DIR, SVN_DIR, GIT_DIR,... if you installed any of these in a non-standard directory.
  • If you chose to use svn as version control system, also add REPOS_TYPE="svn" in custom.sh.
  • Execute this downloaded package to install it into the chosen directory, say, C:\soft\msys (which is the $MSYS_DIR variable in defaults.sh, and is strongly recommended; be sure to override $MSYS_DIR in custom.sh if you put it somewhere else.) NB: That's not C:\soft\msys\1.0, just C: \soft\msys!
  • Either:
    • Skip building the AqBanking Setup Wizard by specifying "AQBANKING_WITH_QT=no" in custom.sh
    • Download Qt from http://trolltech.com/downloads/opensource/appdev, install it, and set QTDIR in custom.sh, like "QTDIR=/c/soft/qt-win-opensource-src-4.4.3". Also, pending integration of AqBanking3_Porting, set "AQBANKING3=no". To save yourself some pain, get a binary version of QT such as the ones here. 4.2.2 is known to work, though newer versions may work as well. Upon installation they may warn that mingw is too old (3.2 vs. 3.1) but this doesn't seem to matter.
    • 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.
  • Let the automated build begin by typing:
 $INSTALLER_DIR/install.sh   (the complete path to the install.sh)
 (e.g. /c/soft/packaging/win32/install.sh, or to save the log, 
 /c/soft/packaging/win32/install.sh | tee /c/soft/Build.txt)
  • If you get an error about the "tools" directory not existing, just make it (i.e. $GLOBAL_DIR\tools)
  • If you get an error about unzip not found, re-run install.sh. This is also usually the case about packages not found, after they have been installed.
  • 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 defaults.sh/custom.sh. Please enter only those installation directory in the installer dialog because otherwise the install.sh script cannot find the newly installed software.
  • 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
 c:/soft/gnucash/inst/bin/gnucash

or even without MSYS directly by "Start"-> "Run"-> "c:\soft\gnucash\inst\bin\gnucash.bat"

On Windows Vista Home Premiun, open a windows command prompt, "cd \soft\gnucash\inst\bin" and then type "gnucash-launcher.cmd"

  • If you want to make a distribution executable, execute the following commands in MSYS, after executing install.sh described above.
 rm -rf /c/soft/gnucash/dist
 /c/soft/packaging/dist.sh
  • To start fresh with new package installs and cleaned out environment variables, after messing up the package installs, execute in MSYS, as for install.sh above, then restart your computer to eliminate environment variable problems such as with ACLOCAL:
 c:/soft/packaging/win32/reset.sh
  • To make modifications to your own source (svn will attempt to merge your changes with the source on the server during the install.sh build), that is in
 c:/soft/gnucash/repos/src
  • When compiled from source, GnuCash will display in the default GTK Raleigh theme. The GnuCash binary installer defaults to the GTK-Wimp theme, which defers rendering of widgets to Windows for a native look-and-feel. Copy gtkrc from C:\soft\gnome\share\themes\MS-Windows\gtk-2.0 to C:\soft\gnome\etc\gtk-2.0 to change themes.


Please spread the word and report back any problems you encounter. It is probably not too difficult anymore to create a full self-contained package of GnuCash on Windows as well! Some more information is also collected here on this wiki page.

A bit of history

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.

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

Online banking

The current install.sh automated build already builds GnuCash with Online Banking enabled, including HBCI, OFX DirectConnect, and OFX file import methods.

However, in order to set up the online banking connectivity (HBCI or OFX, which are both handled by aqbanking), you need to run a separate setup program of aqbanking. Because of the high complexity of the various online banking techniques, the setup program is a GUI program which is based on the Qt library. These Qt parts are not automatically built by install.sh, but you can enable them as described below.

aqbanking

The GUI installation goes like this for a manual install:

export QTDIR=/c/Qt/4.2.2
export aqbanking_with_qt=yes
install.sh

This should build and install the qt parts of aqbanking as well.

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)

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