summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL10
-rw-r--r--build.txt30
2 files changed, 28 insertions, 12 deletions
diff --git a/INSTALL b/INSTALL
index ba4e934d..aeafc8c0 100644
--- a/INSTALL
+++ b/INSTALL
@@ -54,7 +54,7 @@ running Fedora Core, Ubuntu, or stock Debian you can skip this step,
as the stock configuration has the right properties.
gpsd requires two things: (1) that GPS devices have group read and
-write enabled, and (2) all of them are have the same group ID as a
+write enabled, and (2) all of them have the same group ID as a
prototypical device, typically /dev/ttyS0 under Linux or /dev/tty00
under *BSD. It does not actually matter what the owning group is, as
gpsd will look this up on startup. Alternatively, (3), you can set a
@@ -87,16 +87,16 @@ A minimum build of GPSD can run pretty close to the metal; all it
absolutely needs is the C runtime support. The test clients and
various additional features have additional prerequisites:
-|================================================================================
+|===============================================================================
|pthreads library | support for PPS timekeeping on serial GPSes
|DBUS | gpsd will issue DBUS notifications
|ncurses | a test client and the GPS monitor depend on this
|libtinfo5 | shared low-level terminfo library (see below)
|libusb-1.0.x or later | better USB device discovery
|Qt + qmake | libQgpsmm depends on this
-|python2.x(x>=6) or 3.y(y>=3) | required for various clients and utilities
+|python2.x(x>=6) or 3.y(y>=2) | required for various clients and utilities
|python-GI bindings | the test clients xgps and xgpsspeed, need this
-|================================================================================
+|===============================================================================
Some ncurses packages contain the terminfo library; some break it out
separately as libtinfo5 or libtinfo.
@@ -225,7 +225,7 @@ http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41
gpsd will build, install and run on the Rasberry Pi (RasPi) and Pi 2
using Debian jessie. Other distributions based on
Debian (raspbian, etc) will work fine as well. The gpsd
-package in Debian Wheezy is known to be flakey, be sure to update to a
+package in Debian Wheezy is known to be flaky, be sure to update to a
new version of gpsd from source.
=== Raspbian ===
diff --git a/build.txt b/build.txt
index 7ee30338..d03b299f 100644
--- a/build.txt
+++ b/build.txt
@@ -23,9 +23,12 @@ If you get any errors, you need to read the detailed instructions that follow.
If 'scons' fails, it is possible that your target system has moved to
Python 3 as its default 'python' interpreter, but you can work around
-it by saying "python2 /usr/bin/scons" or something similar. GPSD's
-own Python scripts assume that "#!/usr/bin/env python2" will invoke a
-Python 2 interpreter.
+it by saying "python2 /usr/bin/scons" or something similar.
+
+Occasionally, builds may fail in completely bizarre ways due to a corrupted
+scons database. This seems to relate to ^Cing the build at an inopportune
+moment. If you suspect that, see "Reverting to a clean state" below and
+then try again.
== Supported platforms ==
@@ -56,8 +59,8 @@ Necessary components for any build:
|============================================================================
|C compiler | gpsd and client library are written in C
-|Python 2.x(x>=6) or 3.y(y>=3) | some code is generated from python scripts
|scons | for executing the build recipe
+|Python 2.x(x>=6) | for scons and some helper scripts
|============================================================================
=== C compiler ===
@@ -190,7 +193,7 @@ These are listed in rough order of devices covered as of 2013; the
PL23203 by itself accounts for over 70% of deployed USB mice. We
recommend building with pl2303, ftdi_sio, cypress_m8, and cp210x.
-We've receive a bug report that suggests the Python test framework
+We've received a bug report that suggests the Python test framework
requires legacy PTY support (CONFIG_LEGACY_PTYS) from the Linux
kernel. You should make sure you're in the 'dialout' group in order
to have permission to use these devices.
@@ -390,7 +393,7 @@ set to a different value if necessary, or set to the empty string to
disable Python coveraging. The latter happens automatically (with a
message) if the tool cannot be found. When running multiple jobs with
"-j", if python_coverage has its default value, "--parallel" is automatically
-appended to the command. With a non-default setting, accomodating
+appended to the command. With a non-default setting, accommodating
parallelism is the user's responsibility.
For instructions on how to live-test the software, see the file INSTALL.
@@ -408,7 +411,20 @@ generated test programs.
You can run 'scons sconsclean' to remove most of the configuration
state that scons keeps. Be aware, however, that doing this can
confuse scons; you may need to run 'scons --config=force' afterwards
-to make your build succeed.
+to make your build succeed. At the time of this writing, you can also
+remove all the scons state with "rm -rf .scon*", though that could change
+in a future release of scons. This method does not "confuse scons".
+If you use any of these actions in combination with "scons -c", do the
+latter first, as removing scons's state may change its notions of what
+needs to be cleaned.
+
+If you're building in a clone of the git repository, you can use
+"git clean -dxf" to remove all untracked files. Note, however, that
+this will remove any files you have created on your own, in addition
+to build products and scons temporaries. You can alternatively use
+"git clean -dxn" to see what would be removed without actually removing
+anything, or "git clean -dxi" to remove things selectively. Using
+"git clean" after "scons -c" usually results in a fairly short list.
== Notes on Android: