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
+ may have to set --with-qt-dir=<path-to-your-qt-installation>
+ (for example, "--with-qt-dir=/usr/share/qt4/") if the
environment variable QTDIR is not set and pkg-config is not
available.
-----------------------------
If you have checked this out from Git, you need to have:
-* automake >= 1.8
-* autoconf >= 2.59d
-* gettext >= 0.16.1
+* automake (supported versions are 1.14--1.15)
+* autoconf (supported versions are 2.65--2.69)
Then type "./autogen.sh" to build the needed configuration
files and proceed as stated above/below.
------------
First of all, you will need a recent C++ compiler, where recent means
-that the compilers are close to C++ standard conforming (gcc 4.x).
+that the compilers are close to C++11 standard conforming like gcc (at
+least 4.6) or clang.
LyX makes great use of the 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.
-For full LyX usability we suggest to use at least Qt 4.8 which has been
-widely tested. For compilation you need to compile against at least
-Qt 4.5.0. 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.
+For full LyX usability we suggest to use Qt 5.6 and higher, or at the
+very least Qt 5.4. For compilation you need to compile against at least
+Qt 4.8 which has been widely tested, and for Windows we advise at least
+Qt 4.8.4. 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.
To build LyX with spell checking capabilities included you have to
install at least one of the development packages of the spell checker
* Other things to note
-If you make modifications to files in src/ (for example by applying a
-patch), you will need to have the GNU gettext package installed, due
-to some dependencies in the makefiles. You can get the latest version
-from:
+If you make modifications to the source that affect any of the
+translations or you change the translation files themselves (po/*.po)
+files, you will need to have the GNU gettext package installed to
+compile LyX with up-to-date translations (at least gettext version
+0.16.1 is needed). You can get the latest version from:
ftp://ftp.gnu.org/gnu/gettext/
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.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). Python 3.0 or later is not supported.
+ o Python 2.7 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). Python 3 (3.3 or later) support is work in progress.
Creating the Makefile
optimization -O2 -O2 -O -O2 -O2
assertions X X
stdlib-debug X
- concept-checks X X
warnings X X
debug X X X X
The defaults are as follows in terms of version number
- release: stable release (1.x.y)
+ release: stable release (2.x.y)
prerelease: version number contains alpha, beta, rc or pre.
development: version number contains dev.
optimization of LyX. The compile may be much quicker with some
compilers, but LyX will run more slowly.
+ o --disable-std-regex forces the compiler to use boost::regex. The default is
+ to use std::regex for known good C++ libraries, but the test is not robust for clang.
+ --enable-std-regex will force the use of std::regex.
+
o --enable-debug will add debug information to your binary. This
requires a lot more disk space, but is a must if you want to try
to debug problems in LyX. There is no run-time penalty.
o --enable-stdlib-debug adds some debug code in the standard
library; this slows down the code, but has been helpful in the
- past to find bugs.
-
- o --enable-concept-checks adds some compile-time checks. There is no
- run-time penalty.
-
- o --without-latex-config that disables the automatic detection of your
- latex configuration. This detection is automatically disabled if
- latex cannot be found. If you find that you have to use this
- flag, please report it as a bug.
+ past to find bugs. Note that this is in general incompatible with
+ the system boost library (which is used when
+ --without-included-boost is specified). You may have to use
+ --disable-stdlib-debug when linking development versions against
+ your system's boost library.
o --enable-monolithic-build[=boost,client,insets,mathed,core,tex2lyx,frontend-qt4]
that enables monolithic build of the given parts of the source
make install-strip
-BTW: in the images subdirectory there is also a small icon "lyx.png",
-that can be used to display lyx-documents in filemanagers.
+BTW: in the lib/images subdirectory there is also small icons
+`lyx.png' and `lyx.svg', that can be used to display LyX documents in
+filemanagers.
If configure fails for some strange reason
------------------------------------------
`configure' script. `configure' automatically checks for the source
code in the directory that `configure' is in and in `..'.
-If you have to use a `make' that does not supports the `VPATH'
+If you have to use a `make' that does not support the `VPATH'
variable, you have to compile LyX for one architecture at a time in
the source code directory. After you have installed LyX for one
architecture, use `make distclean' before reconfiguring for another
</edit>
</match>
</fontconfig>
- o Building on Solaris 11.1. Compilation does not work out of the box
- at the moment (incompatible iconv argument parameters.)
- One possible solution is to force ./configure to use appropriate
- POSIX/SUS level, e.g.:
- CPPFLAGS="-D_XOPEN_SOURCE=500" ./configure --disable-nls --prefix=/opt/lyx
- For details see bug #8783.