Add a dependency to libxml2
[lttng-tools.git] / README
diff --git a/README b/README
index 5cd5650034c982bd10ae68c22da747e7296fec2d..3e594a52c617dde18bc833717f1d1cc8beb6768b 100644 (file)
--- a/README
+++ b/README
@@ -1,29 +1,74 @@
 LTTng Trace Control
 ----------------
 
-Please visit http://lttng.org for more information.
+Please visit https://lttng.org for more information. The current maintainer is
+David Goulet <dgoulet@efficios.com>.
 
 Latest development can be found at:
 
-    * Gitweb :  http://git.lttng.org/lttng-tools.git/
+    * Gitweb :  https://git.lttng.org/?p=lttng-tools.git;a=summary
     * Git :     git://git.lttng.org/lttng-tools.git
 
 REQUIREMENTS:
 
+    - Linux kernel >= 2.6.27
+      For epoll() support, at least this version is needed. However, poll() is
+      also supported by running "./configure --disable-epoll". Using that, the
+      kernel version can probably be older but we can't provide any guarantee.
+      Please let us know if you are able to go lower without any problems.
+
     - liburcu
       Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney
 
-      -> Tested with liburcu >= v0.6.6
+      -> Tested with liburcu 0.7.x stable.
 
       * Debian/Ubuntu package: liburcu-dev
       * Git : git://git.lttng.org/userspace-rcu.git
-      * Website:  http://lttng.org/urcu
+      * Website:  https://lttng.org/urcu
 
-    - libpopt >= 1.8
+    - libpopt >= 1.13
       Library for parsing command line parameters
 
       * Debian/Ubuntu package: libpopt-dev
 
+    - libuuid
+      Universally unique id library
+
+      * Debian/Ubuntu package: uuid-dev
+
+    - Babeltrace (optional)
+      Trace viewer. Enable the use of "lttng view" command
+
+      * Debian/Ubuntu package: babeltrace
+
+    - libxml2 >= 2.7.6
+      XML document parsing library.
+
+      * Debian/Ubuntu package: libxml2-dev
+
+    - Perl (optional)
+      Needed for make check and tests.
+
+    - Python >= 3.0 (optional)
+      Needed for make check and tests.
+
+      * Debian/Ubuntu package: python3
+
+    - SWIG >= 2.0 (optional)
+      Needed for Python bindings (--enable-python-bindings).
+
+      * Debian/Ubuntu package: swig2.0
+
+    - python-dev (optional)
+      Python headers
+
+      * Debian/Ubuntu package: python3-dev
+
+    - For kernel tracing: modprobe
+
+    - bash
+      Needed for running "make check".
+
 For developers using the git tree:
 
 This source tree is based on the autotools suite from GNU to simplify
@@ -33,17 +78,26 @@ compile the git repository tree :
 - GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50)
   (make sure your system wide "automake" points to a recent version!)
 - GNU Libtool >=2.2
-  (for more information, go to http://www.gnu.org/software/autoconf/)
+  (for more information, go to https://www.gnu.org/software/autoconf/)
+- flex >= 2.5.35
+- bison >= 2.4
 
-If you get the tree from the repository, you will need to use the "bootstrap"
-script in the root of the tree. It calls all the GNU tools needed to prepare the
-tree configuration.
+If you use GNU gold, which is NOT mandatory, make sure you have this version:
+- GNU gold >= 2.22
+(Before this version we hit a known bug documented at:
+ http://sourceware.org/bugzilla/show_bug.cgi?id=11317)
+Be advise that with GNU gold, you'll might have to specify -L/usr/local/lib in
+LDFLAGS.
 
+If you get the tree from the repository, you will need to use the "bootstrap"
+script in the root of the tree. It calls all the GNU tools needed to prepare
+the tree configuration.
 
 INSTALLATION INSTRUCTIONS:
 
   - Download, compile and install the prerequisites.
   Then:
+  $ ./boostrap
   $ ./configure
   $ make
   $ sudo make install
@@ -52,31 +106,65 @@ INSTALLATION INSTRUCTIONS:
   If compiling from the git repository, run ./bootstrap before running
   the configure script, to generate it.
 
+  If you want Python bindings, run ./configure --enable-python-bindings.
+  Please note that some distributions will need the following
+  environment variables set before running configure:
+
+    export PYTHON="python3"
+    export PYTHON_CONFIG="/usr/bin/python3-config"
+
 USAGE:
 
 Please see doc/quickstart.txt to help you start tracing. You can also use the
 -h/--help command on 'lttng' and all other commands offered in this tool (Ex:
 lttng enable-event -h).
 
+A network streaming HOWTO can be found in doc/streaming-howto.txt which quickly
+helps you understand how to stream a LTTng 2.0 trace.
+
+A Python HOWTO can be found in doc/python-howto.txt which quickly
+helps you understand how to use the Python module to control the LTTng API.
+
 PACKAGE CONTENTS:
 
     This package contains the following elements:
 
-    - liblttngctl
+    - liblttng-ctl (public API)
       The LTTng tracing control library.
 
-    - liblttng-sessiond-comm
-      The lttng-sessiond communication library. In order to talk with lttng-sessiond,
-      this library must be used.
+    - libsessiond-comm (internal)
+      The lttng-sessiond communication library. In order to talk with
+      lttng-sessiond, this library must be used.
 
-    - libkernelctl
+    - libkernel-ctl (internal)
       Kernel tracer control and ioctl definitions.
 
-    - liblttng-consumer
+    - libconsumer (internal)
       Library for Kernel and (optionally) UST trace consumer.
 
+    - libkernel-consumer (internal)
+      Library for Kernel consumer control
+
+    - libust-consumer (internal)
+      Library for UST consumer control
+
+    - libhashtable (internal)
+      Library wrapper over URCU hashtables.
+
+    - libcommon (internal)
+      Contains multiple useful function call used by the whole tree.
+
+    - libcompat (internal)
+      Compatibility library mostly for FreeBSD and Linux.
+
+    - librelayd (internal)
+      Library for all relayd interactions over the network.
+
+    - lttng-relayd
+      The relay daemon used for network streaming
+
     - lttng-consumerd
-      The consumer daemon which uses liblttng-consumer.
+      The consumer daemon which uses libconsumer.
 
     - lttng-sessiond
       The LTTng session daemon binary.
@@ -84,8 +172,15 @@ PACKAGE CONTENTS:
     - lttng
       The LTTng tracer command line control tool.
 
-    - include (lttng.h --> installed in $(includedir)/lttng/lttng.h)
+    - include (installed in $(includedir)/lttng/)
       The liblttngctl API header file.
 
     - tests
       Various test programs.
+
+    - doc
+      Various documentations and quickstart guide.
+
+    - extras
+      Contains extra data such as bash completion file. Python bindings for
+      liblttng-ctl are also available there.
This page took 0.024828 seconds and 4 git commands to generate.