These four steps will compile, test and install LyX:
- 0) Linux users beware: if compiling the Qt frontend, you need
- qt4 and qt4-devel packages of the same version to compile LyX.
-
- 1) ./configure
- configures LyX according to your system.
- When compiling for Qt, you may have to set
- --with-qt4-dir=<path-to-your-qt4-installation>
- if the environment variable QTDIR is not set.
+ 0) Linux users beware: You need qt4 and qt4-devel packages
+ of the same version to compile LyX.
+
+ In general, it is also recommended to have pkg-config
+ installed (the name might vary depending on your
+ distribution).
+
+ 1) ./configure configures LyX according to your system. You
+ may have to set --with-qt4-dir=<path-to-your-qt4-installation>
+ (for example, "--with-qt4-dir=/usr/share/qt4/") if the
+ environment variable QTDIR is not set and pkg-config is not
+ available.
+
See Note below if ./configure script is not present.
2) make
if you want a smaller binary.
-Note for Subversion (SVN) checkouts
+Note for Git checkouts
-----------------------------
-If you have checked this out from Subversion, you need to have:
-* automake >= 1.5
+If you have checked this out from Git, you need to have:
+* automake >= 1.8
* autoconf >= 2.59c
-* gettext >= 0.12
+* gettext >= 0.16.1
Then type "./autogen.sh" to build the needed configuration
files and proceed as stated below.
You will also probably need GNU m4 (perhaps installed as gm4).
+
Requirements
------------
First of all, you will also need a recent C++ compiler, where recent
-means that the compilers are close to C++ standard conforming (gcc 3.x).
+means that the compilers are close to C++ standard conforming (gcc 4.x).
-LyX 1.6.x makes great use of C++ Standard Template Library (STL).
+LyX makes great use of C++ Standard Template Library (STL).
This means that gcc users will have to install the relevant libstdc++
library to be able to compile this version of LyX.
-LyX has been tested with Qt 4.2.x and Qt 4.3.x. The only special point
-to make is that you must ensure that both LyX and the Qt libraries are
-compiled with the same C++ compiler.
-
-Note that if Qt is using Xft2/fontconfig, you may need to install the
-latex-xft-fonts package (at ftp://ftp.lyx.org/pub/lyx/contrib/) to get
-maths symbols displayed properly. To find out, type:
-
- ldd `which lyx` | grep fontconfig
+For full LyX usability we suggest to use at least Qt 4.6 which has been
+widely tested. For compilation you need to compile against at least
+Qt 4.2.2. The only special point to make is that you must ensure that both
+LyX and the Qt libraries are compiled with the same C++ compiler.
-at the console. Most recent distributions are known to use fontconfig.
+To build LyX with spell checking capabilities included you have to
+install at least one of the development packages of the spell checker
+libraries. See the RELEASE-NOTES for details.
-If, however, your version of Qt does not use fontconfig, then TeX
-fonts should be added to the font path. 'man xset' is your friend.
* Other things to note
from:
ftp://ftp.gnu.org/gnu/gettext/
-To use the thesaurus, you will need to install libAikSaurus, available
-from:
- http://aiksaurus.sourceforge.net/
-
The two following programs should be available at configuration time:
o LaTeX2e should be correctly setup for the user you are logged in
as. Otherwise, LyX will not be able to run a number of tests. Note
that users can run these tests manually with Tools>Reconfigure.
- o Python 2.3 or newer installed to be able to import older LyX files
+ o Python 2.4 or newer must be installed. Python is used for many
+ simple tasks that are executed by external scripts, such as the
+ automatic configuration step and the import of older LyX documents
with the lyx2lyx script (this script is called automatically when
- opening a file).
+ opening a file). Python 3.0 or later is not supported.
Creating the Makefile
./configure
-For more complicated cases, LyX configure takes the following specific
+For more complicated cases, LyX configure honors the following specific
flags:
- o --enable-build-type=[rel(ease), dev(elopment), pre(release)]
+ o --enable-build-type=[rel(ease), pre(release), dev(elopment), prof(iling), gprof]
allows to tweak the compiled code. The following table describes
the settings in terms of various options that are described later
- release prerelease development
- optimization -O2 -O2 -O
+ release prerelease development profiling gprof
+ optimization -O2 -O2 -O -O2 -O2
assertions X X
stdlib-debug X
concept-checks X X
warnings X X
- debug X X
+ debug X X X X
+ gprof X
The default are as follows in terms of version number
release: stable release (1.x.y)
--with-extra-lib=DIRECTORY/lib --with-extra-inc=DIRECTORY/include
If DIRECTORY is not specified, the current prefix is used.
- o --with-version-suffix[=VERSION] will install LyX as lyx-VERSION,
- e.g. lyx-1.6.1. The LyX data directory will be something like
- <whatever>/lyx-1.6.1/. Additionally your user configuration files
- will be found in e.g. $HOME/.lyx-1.6.1
+ o --with-version-suffix[=SUFFIX] will install LyX as lyxSUFFIX. The
+ LyX data directory will be something like <whatever>/lyxSUFFIX/.
+ Additionally your user configuration files will be found in e.g.
+ $HOME/.lyxSUFFIX. The default for SUFFIX is "-<currentversion>",
+ e.g. lyx-1.6.1.
You can use this feature to install more than one version of LyX
on the same system. You can optionally specify a "version" of your
The following options allow to tweak more precisely the generated code:
- o --enable-profiling instruments the code for use with the gprof
+ o --enable-gprof instruments the code for use with the gprof
profiler. The result are only meaningful in conjunction with
--enable-build-type=release.
want to use. The default value is qt4, which is the only available
frontend for now.
- o --enable-monolithic-[boost,client,insets,mathed,core,tex2lyx,frontend-qt4]
- that enable monolithic build of the given part of the source code. This
- should reduce the compilation time provided you have enough memory
- (>500MB).
+ o --enable-monolithic-build[=boost,client,insets,mathed,core,tex2lyx,frontend-qt4]
+ that enables monolithic build of the given parts of the source
+ code. This should reduce the compilation time provided you have
+ enough memory (>500MB).
Compiling and installing LyX