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.
+ 0) Linux users beware: 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.
+ You may have to set
+ --with-qt4-dir=<path-to-your-qt4-installation>
+ if the environment variable QTDIR is not set (for example,
+ '--with-qt4-dir=/usr/share/qt4/'). Alternatively, you could
+ install pkgconfig (the name might vary depending on your
+ distribution).
+ See Note below if ./configure script is not present.
2) make
compiles the program.
if you want a smaller binary.
-Note for Subversion checkouts
+Note for Subversion (SVN) checkouts
-----------------------------
If you have checked this out from Subversion, you need to have:
-* automake >= 1.5
-* autoconf >= 2.52
+* automake >= 1.8
+* autoconf >= 2.59c
* gettext >= 0.12
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:
+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.
- ldd `which lyx` | grep 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.
-at the console. Most recent distributions are known to use fontconfig.
-
-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
o Python 2.3 or newer installed to be able to import older LyX files
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)]
- allows to tweak the compiled code. The options are equivalent to:
-
- release: --enable-optimization=-O2 --disable-assertions
- --disable-stdlib-debug --disable-concept-checks
- --disable-warnings --disable-debug
+ 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
- prerelease: --enable-optimization=-O2 --enable-assertions
- --disable-stdlib-debug --enable-concept-checks
- --enable-warnings --enable-debug
+ 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 X X
+ gprof X
- development: --enable-optimization=-O --enable-assertions
- --enable-stdlib-debug --enable-concept-checks
- --enable-warnings --enable-debug
+ The default are as follows in terms of version number
+ release: stable release (1.x.y)
+ prerelease: version number contains alpha, beta, rc or pre.
+ development: version number contains svn.
o --with-extra-lib=DIRECTORY that specifies the path where LyX will
find extra libraries (qt4) it needs. Defaults to NONE
--with-extra-lib=DIRECTORY/lib --with-extra-inc=DIRECTORY/include
If DIRECTORY is not specified, the current prefix is used.
- o --with-version-suffix 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/.
+ 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/.lyx-1.6.1
+ $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
If you encounter problems, please read the section 'Problems' at the end of
this file.
-In particular, the following options could be useful in some desperate
-cases:
+The following options allow to tweak more precisely the generated code:
+
+ o --enable-gprof instruments the code for use with the gprof
+ profiler. The result are only meaningful in conjunction with
+ --enable-build-type=release.
o --enable-optimization=VALUE enables you to set optimization to a
higher level as the default (-O), for example --enable-optimization=-O3.
want to use. The default value is qt4, which is the only available
frontend for now.
+ 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
----------------------------