summaryrefslogtreecommitdiff
path: root/README-1ST
diff options
context:
space:
mode:
Diffstat (limited to 'README-1ST')
-rw-r--r--README-1ST120
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.