X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=INSTALL;h=1e003be75a22cde322a33e87880f15a590aa7f7d;hb=8961be22ec3cb4fd6a001d27aab8d2e339a8aa15;hp=36fd8cb4cfd46b82ea82550e9ca4957784af2ffd;hpb=9600fb1aaf2cb853d1ec9e592bbbd39321ede5ed;p=lyx.git diff --git a/INSTALL b/INSTALL index 36fd8cb4cf..1e003be75a 100644 --- a/INSTALL +++ b/INSTALL @@ -6,14 +6,20 @@ Quick compilation guide 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= - if the environment variable QTDIR is not set. + 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= + (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 compiles the program. @@ -26,42 +32,38 @@ These four steps will compile, test and install LyX: 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 -* gettext >= 0.12 +* automake >= 1.8 +* autoconf >= 2.59c +* 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 @@ -71,19 +73,17 @@ to some dependencies in the makefiles. You can get the latest version 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 @@ -96,23 +96,26 @@ to create the Makefile by typing ./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: + 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: --enable-optimization=-O2 --disable-assertions - --disable-stdlib-debug --disable-concept-checks - --disable-warnings --disable-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 - prerelease: --enable-optimization=-O2 --enable-assertions - --disable-stdlib-debug --enable-concept-checks - --enable-warnings --enable-debug - - prerelease: --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 @@ -127,10 +130,11 @@ flags: --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-, e.g. lyx-1.6.1 - The LyX data directory will be something like /lyx-1.6.1/. + o --with-version-suffix[=SUFFIX] will install LyX as lyxSUFFIX. The + LyX data directory will be something like /lyxSUFFIX/. Additionally your user configuration files will be found in e.g. - $HOME/.lyx-1.6.1 + $HOME/.lyxSUFFIX. The default for SUFFIX is "-", + 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 @@ -199,8 +203,11 @@ give a value to the CXX variable. 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. @@ -241,6 +248,11 @@ cases: 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 ---------------------------- @@ -284,31 +296,6 @@ the source code directory. After you have installed LyX for one architecture, use `make distclean' before reconfiguring for another architecture. -Preparing a binary distribution for the use of others ------------------------------------------------------- - - o Compile LyX with the right compiler switches for your - architecture. Make sure you use the --without-latex-config switch - of configure, since others might not be interested by your - configuration :-) - - o Create a file README.bin describing your distribution and - referring to *you* if problems arise. As a model, you can use the - file development/tools/README.bin.example, which can be a good - starting point. - - o Type `make bindist'. This will create a file - lyx-1.xx.yy-bin.tar.gz. Rename it to reflect you architecture - and the peculiarities of your build (e.g. static vs. dynamic). - - o Check that everything is correct by unpacking the distribution - in some private place and running it. In particular, check the - output of `ldd lyx' to know which libraries are really needed. - - o Upload your binary file to ftp.devel.lyx.org:/pub/incoming, and - notify larsbj@lyx.org. - - Problems --------