diff options
Diffstat (limited to 'README-1ST')
-rw-r--r-- | README-1ST | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/README-1ST b/README-1ST new file mode 100644 index 00000000..a56e4782 --- /dev/null +++ b/README-1ST @@ -0,0 +1,120 @@ + +=============================================================================== + + README FIRST!!! + +To build this code after doing a Git clone, run: + + $ ./acprep update + +If you try to configure and build on your own, you are almost certainly going +to run into problems. In future, you can run this command again and again, +and it will keep you updated to the very latest version. + +=============================================================================== + + NOTE FOR MAC OS X USERS + +To build and install Ledger on the Mac requires several dependencies. If you +are a MacPorts user, you can install these dependencies very simply using: + + $ ./acprep dependencies + +Once this is done, I recommend building both debug and optimized versions of +Ledger, in a subdirectory of your source tree named 'build' (which acprep will +manage for you, you simply need to make it): + + $ mkdir build + $ ./acprep opt make + $ ./acprep debug make + +Now install the optimized version, but know that you have 'build/debug/ledger' +available for testing and more useful bug reports. + +=============================================================================== + + IF YOU HAVE CONFIGURE OR BUILD PROBLEMS + +The first order of business if acprep update doesn't work is to find out where +things went wrong. So follow these steps to produce a bug report I can track +down easily: + + $ ./acprep --debug update # shows what acprep was thinking + $ <edit config.log> # shows what configure was thinking + +With the contents of config.log, and the output from acprep --debug update, +it's usually fairly obvious where things have gone astray. + +=============================================================================== + + F.A.Q. + + - Q: The build fails saying it can't find utf8.h + + A: You didn't run ./acprep update. + + ---------------------------------------------------------------------- + + - Q: Configure fails saying it can't find boost_regex + + A: Look in config.log and search for "boost_regex", then scroll down a bit + until you see the exact compile error. Usually it's failing because + your include directory is different from anything acprep is expecting to + see. It could also be failing because your Boost libraries have a + custom "suffix" on them. + + Let's say your Boost was installed in ~/boost, and every library has the + suffix '-xgcc42'. This is what you would run: + + CPPFLAGS=-I$HOME/boost acprep --boost=xgcc42 update + + ---------------------------------------------------------------------- + + - Q: Configure fails saying it can't find MPFR + + A: You need MPFR version 2.4.0 or higher. This version does not come with + most Debian distributions, so you will need to build it. + + ---------------------------------------------------------------------- + + - Q: I'm seeing a segfault deep inside the boost_regex code! + + A: Actually, the real segfault is in libstdc++'s facet code. It's being + caused by using a debug Boost with a non-debug build of Ledger, or + vice-versa. + + ---------------------------------------------------------------------- + + - Q: Something else fails, or Ledger crashes on startup + + A: This, I am most interested in hearing about. Please e-mail me a copy of + config.log and your build log to <johnw@newartisans.com>. Also, if + Ledger is crashing, try running it under gdb like so: + + $ gdb ledger + (gdb) run <ARGS TO LEDGER> + ... runs till crash ... + (gdb) bt + + Send me that backtrace output, and the output from "ledger --version". + + ---------------------------------------------------------------------- + + - Q: Whenever I try to use the Python support, I get a segfault + + A: Make sure that the boost_python library you linked against is using the + exact same Python as the Ledger executable. In particular I see this + bug on OS X systems where boost_python is linked against the default + Python, while Ledger is linked against the version provided by MacPorts. + + Solution: Use one or the other. If you prefer the system Python, run + "port deactivate -f python26", to get MacPorts' version out of the way. + You'll then need to delete the Ledger binary and run "make" to relink + it. + + ---------------------------------------------------------------------- + + - Q: When I run "make check", the Python unit tests always crash + + A: This can happen for the same reason as above. It can also happen if you + have ICU support enabled. This is a bug I'm still trying to track down. |