taskwarrior/INSTALL
Cory Donnelly 43e68f73d3 Documentation
- Made changes to INSTALL reflecting cmake build process
- Added cygwin and Darwin troubleshooting tips
2011-01-22 21:12:24 -05:00

123 lines
4.3 KiB
Text

Installation Instructions
-------------------------
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Pre-requisites
--------------
You will need the CMake build system installed in order to build taskwarrior
from source.
Optionally, you might want to have Lua installed, if you wish to write plugins
and modify taskwarrior.
Basic Installation
------------------
Briefly, these shell commands will unpack, build and install taskwarrior:
$ tar xzf task-X.Y.Z.tar.gz [1]
$ cd task-X.Y.Z [2]
$ cmake . [3]
$ make [4]
$ make test [5]
$ sudo make install [6]
$ cd .. ; rm -r task-X.Y.Z [7]
These commands are explained below:
1. Unpacks the source tarball. This creates the directory task-X.Y.Z,
containing all the code.
2. Change directory to the root of the distribution.
3. Invokes CMake to scan for dependencies and machine-specific details, then
generate the makefiles. This may take a minute.
4. Builds taskwarrior. This may take a minute.
5. Optional step that runs the unit tests. This will take several minutes,
during which there will be minimal feedback. Note that thousands of tests
are run, and some of those tests need to introduce a delay between commands
which explains the lengthy time. On completion, will report the number of
passing and failing tests. There should be zero failing tests.
6. Installs the program, documentation and other data files.
7. Removes the temporary directory.
Uninstallation
--------------
To uninstall taskwarrior, you need the Makefiles, so if you deleted them in
step 7 above, they must first be regenerated by following steps [1], [2] and
[3]. Then simply run:
$ sudo make uninstall TODO TODO TODO -- cmake doesn't include uninstall
Taskwarrior Build Notes
-----------------------
Taskwarrior 1.9.4 has dependencies that are detected by cmake in almost all cases,
but there are situations and operating systems that mean you will need to offer
a little help.
If taskwarrior will not build on your system, first take a look at the Operating
System notes below. If this doesn't help, then go to the Troubleshooting
section, which includes instructions on how to contact us for help.
Operating System Notes
----------------------
Haiku Alpha/R1
Taskwarrior must be built with gcc version 4.x, so make sure you run:
$ setgcc gcc4
To switch from gcc 2.95 to gcc 4.x.
Cygwin
If 'make install' fails when writing to the /usr/local/share/ directory,
this may be because your current login doesn't have permission to write
to the Windows directory containing your Cygwin installation. Either
login to Windows as an Administrator and try the 'make install' process
again, or reinstall Cygwin under your normal Windows login.
Darwin
If you're having trouble with Lua, check to see if the include files were
installed. If you're using fink, this will require the lua51-dev package in
addition to lua51.
Troubleshooting
---------------
If you've recently made changes to dependencies (by reinstalling Lua, for
example) be sure to rerun 'cmake .' before trying to execute 'make' again.
CMake will run and locate all the necessary pieces for the build, and create
a Makefile. There may be errors and warnings when running CMake, or there
may be compiler errors and warnings when running 'make'. Sometimes you will run
CMake with no reported problems, and the build will fail later. This is
almost always because CMake is mistaken about some assumption.
If a build does not succeed, please send the contents of the 'CMakeCache.txt'
and 'CMakeFiles/CMakeOutput.log' files to support@taskwarrior.org, or post a
message in the support forums at taskwarrior.org along with the information.
If CMake runs but taskwarrior does not build, please send the contents of the
above files as well as a transcript from the build, which is not written to a
file and must be captured from the terminal.
---