doc updates

This commit is contained in:
Simon Michael 2012-06-29 17:39:37 +00:00
parent 074486549a
commit a96362118c
2 changed files with 47 additions and 38 deletions

View File

@ -34,7 +34,7 @@ title: hledger contributor guide
[developer notes](http://joyful.com/darcsweb/darcsweb.cgi?r=hledger;a=plainblob;f=/NOTES.org), [developer notes](http://joyful.com/darcsweb/darcsweb.cgi?r=hledger;a=plainblob;f=/NOTES.org),
[haddock coverage](http://hledger.org/profs/haddock-coverage), [haddock coverage](http://hledger.org/profs/haddock-coverage),
[unit test coverage](http://hledger.org/profs/coverage/hpc_index_fun.html), [unit test coverage](http://hledger.org/profs/coverage/hpc_index_fun.html),
<!-- [benchmark](http://hledger.org/profs/latest.bench), --> [benchmark](http://hledger.org/profs/latest.bench),
<!-- [profile](http://hledger.org/profs/latest.prof), --> <!-- [profile](http://hledger.org/profs/latest.prof), -->
<!-- [heap](http://hledger.org/profs/latest.ps) --> <!-- [heap](http://hledger.org/profs/latest.ps) -->
[stale dependencies](http://packdeps.haskellers.com/feed/?needle=hledger) [stale dependencies](http://packdeps.haskellers.com/feed/?needle=hledger)

View File

@ -42,7 +42,7 @@ then:
To also install the web interface, do: To also install the web interface, do:
$ cabal install hledger hledger-web $ cabal install hledger-web
To build the latest [development version](DEVELOPMENT.html) do: To build the latest [development version](DEVELOPMENT.html) do:
@ -1326,51 +1326,56 @@ you. Tip: blindly reinstalling/upgrading everything in sight probably
won't work, it's better to go in small steps and understand the problem, won't work, it's better to go in small steps and understand the problem,
or get help. or get help.
- **Did you cabal update ?** #. **Did you cabal update ?**
If not, `cabal update` and try again. If not, `cabal update` and try again.
- **Do you have a new enough version of GHC ?** #. **Do you have a new enough version of GHC ?**
Run `ghc --version`. hledger requires GHC 7.0 or greater Run `ghc --version`. hledger requires GHC 7.0 or greater
(on [some platforms](#5551), 7.2.1 can be helpful). (on [some platforms](#5551), 7.2.1 can be helpful).
- **Do you have a new enough version of cabal ?** #. **Do you have a new enough version of cabal ?**
Avoid ancient versions. `cabal --version` should report at least Avoid ancient versions. `cabal --version` should report at least
0.10 (and 0.14 is much better). You may be able to upgrade it with: 0.10 (and 0.14 is much better). You may be able to upgrade it with:
$ cabal update $ cabal update
$ cabal install cabal-install $ cabal install cabal-install-0.14
- **There might be a dependency or compilation error with a hledger package** #. **Are your installed GHC/cabal packages in good repair ?**
The current hledger release might have an error in its code, or its Run `ghc-pkg check`. If it reports problems, some of your packages have
package dependencies may have become out of date. become inconsistent, and you should fix these first.
Ask for help, and check the [ghc-pkg-clean](https://gist.github.com/1185421) is an easy way.
[recent changes](http://joyful.com/darcsden/simon/hledger/changes) to
see if the [latest development version](#installing) might have a fix.
This issue should be uncommon. It's not always easy to distinguish it #. <a name="cabaldeps" />**cabal can't satisfy the new dependencies due to old installed packages**
from...
- <a name="cabaldeps" />**cabal can't satisfy the new dependencies due to old installed packages**
Cabal dependency failures become more likely as you install more Cabal dependency failures become more likely as you install more
packages over time. If you have this problem, there are two easy packages over time. If `cabal install hledger-web --dry` says it can't
workarounds: 1. build hledger in an isolated package environment with satisfy dependencies, you have this problem. You can:
[virthualenv](http://hackage.haskell.org/package/virthualenv) (or
[cabal-dev](http://hackage.haskell.org/package/cabal-dev)), or 2. just
[reset your packages](https://gist.github.com/1185421).
- **An error involving some other package** a. try to understand which packages to remove (with `ghc-pkg unregister`)
Look at the output carefully and identify the problem package(s). Try or which constraints to add (with `--constraint 'PKG == ...'`) to help cabal
installing each one individually, eg `cabal install pkg1`. Look for the find a solution
cause of the failure near the end of the output. If necessary, add `-v2`
or `-v3` for more verbose output. Often the problem is that you need to
install some C library that the haskell package depends on, using your
platform's package management system.
- <a name="5551" />**can't load .so/.DLL for: ncursesw (/usr/lib/libncursesw.so: file too short)** b. install into a fresh environment created with
(or similar): cf [GHC bug #5551](http://hackage.haskell.org/trac/ghc/ticket/5551). [virthualenv](http://hackage.haskell.org/package/virthualenv) or
Upgrade GHC to 7.2.1, or try your luck with [this workaround](http://eclipsefp.github.com/faq.html). [cabal-dev](http://hackage.haskell.org/package/cabal-dev)
- **ExitFailure 11** c. or (easiest) erase your installed packages with
[ghc-pkg-reset](https://gist.github.com/1185421) and try again.
#. **Dependency or compilation error in one of the new packages ?**
If cabal starts downloading and building packages and then terminates
with an error, look at the output carefully and identify the problem
package(s). If necessary, add `-v2` or `-v3` for more verbose
output. You can install the new packages one at a time to troubleshoot,
but remember cabal is smarter when installing all packages at once.
Often the problem is that you need to install a particular C library
using your platform's package management system. Or the dependencies
specified on a package may need updating. Or there may be a compilation
error. If you find an error in a hledger package, check the
[recent commits](http://joyful.com/darcsden/simon/hledger/changes) to
see if the [latest development version](#installing) might have a fix.
#. **ExitFailure 11**
See See
[http://hackage.haskell.org/trac/hackage/ticket/777](http://hackage.haskell.org/trac/hackage/ticket/777). [http://hackage.haskell.org/trac/hackage/ticket/777](http://hackage.haskell.org/trac/hackage/ticket/777).
This means that a build process has been killed, usually because it grew This means that a build process has been killed, usually because it grew
@ -1379,8 +1384,12 @@ or get help.
or limit GHC's heap size by doing `cabal install ... --ghc-options='+RTS or limit GHC's heap size by doing `cabal install ... --ghc-options='+RTS
-M400m'` (400 megabytes works well on my 1G VPS, adjust up or down..) -M400m'` (400 megabytes works well on my 1G VPS, adjust up or down..)
- <a name="iconv" />**Undefined symbols: ... _iconv ... on OS X** #. <a name="5551" />**Can't load .so/.DLL for: ncursesw (/usr/lib/libncursesw.so: file too short)**
This kind of error: (or similar): cf [GHC bug #5551](http://hackage.haskell.org/trac/ghc/ticket/5551).
Upgrade GHC to 7.2.1, or try your luck with [this workaround](http://eclipsefp.github.com/faq.html).
#. <a name="iconv" />**Undefined iconv symbols on OS X**
This kind of error:
Linking dist/build/hledger/hledger ... Linking dist/build/hledger/hledger ...
Undefined symbols: Undefined symbols:
@ -1401,21 +1410,21 @@ or get help.
extra-lib-dirs: /usr/lib extra-lib-dirs: /usr/lib
- **hledger-vty requires curses-related libraries** #. **hledger-vty requires curses-related libraries**
On Ubuntu, eg, you'll need the `libncurses5-dev` package. On Windows, On Ubuntu, eg, you'll need the `libncurses5-dev` package. On Windows,
these are not available (unless perhaps via Cygwin.) these are not available (unless perhaps via Cygwin.)
- **hledger-chart requires GTK-related libraries** #. **hledger-chart requires GTK-related libraries**
On Ubuntu, eg, install the `libghc6-gtk-dev` package. See also [Gtk2Hs installation notes](http://code.haskell.org/gtk2hs/INSTALL). On Ubuntu, eg, install the `libghc6-gtk-dev` package. See also [Gtk2Hs installation notes](http://code.haskell.org/gtk2hs/INSTALL).
#### Usage issues #### Usage issues
Here are some issues you might encounter when you run hledger: Here are some issues you might encounter when you run hledger:
- **hledger fails to parse some valid ledger files** 12. **hledger fails to parse some valid ledger files**
See [file format compatibility](#file-format-compatibility). See [file format compatibility](#file-format-compatibility).
- <a name="locale" />**hledger gives "Illegal byte sequence" or "Invalid or incomplete multibyte or wide character" errors** #. <a name="locale" />**hledger gives "Illegal byte sequence" or "Invalid or incomplete multibyte or wide character" errors**
In order to handle non-ascii letters and symbols (like £), hledger needs In order to handle non-ascii letters and symbols (like £), hledger needs
an appropriate locale. This is usually configured system-wide; you can an appropriate locale. This is usually configured system-wide; you can
also configure it temporarily. The locale may need to be one that also configure it temporarily. The locale may need to be one that