X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=INSTALL;h=99114b2de356456c65330ed9caf3d0a1a2ccc27c;hb=c93b3a24a03243067a94d2d5875f82bac00a3d8c;hp=7ed8b1b46dcb4506fbdda9cd34717e264265f1b3;hpb=66dcc7f62c1e6c9ff0d4e55c6c13e3fbbf806bc6;p=lyx.git diff --git a/INSTALL b/INSTALL index 7ed8b1b46d..99114b2de3 100644 --- a/INSTALL +++ b/INSTALL @@ -6,18 +6,19 @@ Quick compilation guide These four steps will compile, test and install LyX: - 0) Linux users beware: You need qt4 and qt4-devel packages + 0) Linux users beware: You need qt4/5 and qt4/5-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 + 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= - (for example, "--with-qt4-dir=/usr/share/qt4/") if the + may have to set --with-qt-dir= + (for example, "--with-qt-dir=/usr/share/qt4/") if the environment variable QTDIR is not set and pkg-config is not available. + You will need --enable-qt5 switch for choosing qt5 over qt4. See Note below if ./configure script is not present. @@ -36,9 +37,8 @@ Note for Git checkouts ----------------------------- 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.16) +* autoconf (supported versions are 2.65--2.69) Then type "./autogen.sh" to build the needed configuration files and proceed as stated above/below. @@ -49,16 +49,18 @@ Requirements ------------ 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. +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 @@ -67,23 +69,20 @@ libraries. See the RELEASE-NOTES for details. * 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 @@ -107,16 +106,18 @@ flags: 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 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. + The `profiling' build type uses the -fno-omit-frame-pointer option with gcc + + The `gprof' build type compiles and links with -pg option with gcc. + o --with-extra-lib=DIRECTORY that specifies the path where LyX will find extra libraries (qt4) it needs. Defaults to NONE (i.e. search in standard places). You can specify several @@ -152,13 +153,6 @@ LyX: o --disable-nls suppresses all internationalization support, yielding somewhat smaller code. - o --with-included-gettext forces the use of the included GNU gettext - library, although you might have another one installed. - - o --with-catgets allows to use the catget() functions which can - exist on your system. This can cause problems, though. Use with - care. - o You can also set the environment variable LINGUAS to a list of languages in case you do not want to install all the translation files. For example, if you are only interested in German and @@ -203,50 +197,40 @@ give a value to the CXX variable. If you encounter problems, please read the section 'Problems' at the end of this file. -The following options allow you to tweak the generated code more precisely: - - o --enable-gprof instruments the code for use with the gprof - profiler. The results are only meaningful in conjunction with - --enable-build-type=release. +The following options allow you to tweak the generated code more precisely (see the description of --enable-build-type for the default values): o --enable-optimization=VALUE enables you to set optimization to a - higher level than the default (-O), for example --enable-optimization=-O3. + higher level than the default, for example --enable-optimization=-O3. o --disable-optimization - you can use this to disable compiler 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. The default is to have debug information - for development versions and prereleases only. + 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-warnings that make the compiler output more warnings during - the compilation of LyX. Opposite is --disable-warnings. By default, - this flag is on for development versions only. + the compilation of LyX. Opposite is --disable-warnings. o --enable-assertions that make the compiler generate run-time code which checks that some variables have sane values. Opposite - is --disable-assertions. By default, this flag is on for - development versions only. + is --disable-assertions. 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. By default, this flag is on for development - versions only. - - o --enable-concept-checks adds some compile-time checks. There is no - run-time penalty. By default, this flag is on for development - versions only. - - 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. - - o --with-frontend=FRONTEND that allows to specify which frontend you - want to use. The default value is qt4, which is the only available - frontend for now. + 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. + The same problem applies to hunspell (as of hunspell 1.5). So either + compile --with-included-hunspell or --disable-stdlib-debug when + linking development versions against your system's hunspell library. o --enable-monolithic-build[=boost,client,insets,mathed,core,tex2lyx,frontend-qt4] that enables monolithic build of the given parts of the source @@ -270,8 +254,9 @@ to strip the lyx binary. In this case replace "make install" with 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 ------------------------------------------ @@ -290,7 +275,7 @@ you want the object files and executables to go and run the `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 @@ -350,4 +335,3 @@ notify us. -