X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=INSTALL;h=419252a4c582aefe035c680de4234b6c2a148da1;hb=b27f6ab5614c39fa3dd070bf461e19b6110681d5;hp=8ecbd562fc49683905a91322f17acaf077bfc586;hpb=44cd0fc9a1687cc63911c7f98d978594458e7813;p=lyx.git diff --git a/INSTALL b/INSTALL index 8ecbd562fc..419252a4c5 100644 --- a/INSTALL +++ b/INSTALL @@ -7,13 +7,13 @@ Quick compilation guide These four steps will compile, test and install LyX: 0) Linux users beware: if compiling the Qt frontend, you need - qt and qt-devel packages of the same version to compile LyX. + qt and qt-devel packages of the same version to compile LyX. - 1) ./configure - configures LyX to your system. By default, LyX configures - the xforms frontend, use --with-frontend=qt to build a Qt - version. You may have to set - --with-qt-dir= to succeed. + 1) ./configure --with-frontend=[qt3, qt4, or gtk] + configures LyX according to your system. + When compiling for Qt, you may have to set + --with-qt-dir= + if the environment variable QTDIR is not set. 2) make compiles the program. @@ -26,12 +26,14 @@ These four steps will compile, test and install LyX: if you want a smaller binary. -Note for CVS checkouts ----------------------- +Note for Subversion checkouts +----------------------------- -If you have checked this out from CVS, you need to have -automake, autoconf, and gettext installed. Then, -type "./autogen.sh" to build the needed configuration +If you have checked this out from Subversion, you need to have: +* automake >= 1.9 +* autoconf >= 2.52 +* 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). @@ -41,47 +43,23 @@ Requirements First of all, you will also need a recent C++ compiler, where recent means that the compilers are close to C++ standard conforming. -Compilers that are known to compile LyX are egcs 1.1.x, gcc 2.95.x and -later, and Digital C++ version 6.1 and later. Please tell us your -experience with other compilers. It is _not_ possible to compile LyX -with gcc 2.7.x and 2.8.x, and this is not likely to change in the -future. - -Note that, contrary to LyX 1.0.x, LyX 1.3.x 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. - -* xforms frontend - -Both an Xforms and Xpm libraries should be installed to compile LyX. -It is imperative that you have the correct versions of these -libraries, and their associated header files. - -The xforms library has been very recently updated to version 1.0. -This version has been released under the LGPL (Lesser General Public -License), and the availability of the source means that many bugs that -have been plaguing LyX have been fixed in xforms. You are advised to -upgrade to xforms 1.0 to enjoy all these new fixes. -In fact, LyX 1.3.x no longer supports versions of xforms older than 0.89.5. - -You can get the source from - http://world.std.com/~xforms/ - ftp://ncmir.ucsd.edu/pub/xforms/OpenSource/xforms-1.0-release.tgz - ftp://ftp.lyx.org/pub/xforms/OpenSource/xforms-1.0-release.tgz - -If you use a rpm-based linux distribution, such as RedHat or Mandrake, -we recommend that you grab a version of xforms from - ftp://ftp.lyx.org/pub/lyx/contrib -Look for the xforms-1.0-release.src.rpm or the binary libforms*.i386.rpm. - -In addition, you must have libXpm version 4.7 or newer. +Compilers that are known to compile LyX are gcc 2.95.x and later +and Digital C++ version 6.1 and later. Please tell us your experience +with other compilers. + +It is _not_ possible to compile LyX with gcc 2.7.x and 2.8.x. + +LyX 1.4.x 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. Users of gcc 2.95.x +will have to install the STLPort version of these libraries as the +ones that come with gcc 2.95.x are too broken for us to use. * Qt frontend -LyX has been tested with both Qt 2.x and 3.x libraries. 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. +LyX has been tested with Qt 3.x, though Qt 2.x may happen to work too. +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 @@ -92,12 +70,8 @@ maths symbols displayed properly. To find out, type: at the console. Both RH8 and Debian unstable distributions are known to use fontconfig. -If, however, your version of Qt does not use fontconfig, then the -/usr/local/share/lyx/xfonts directory (or equivalent) should be added to -the font path. This is done automatically by LyX if LyX is run on -the local machine, and the X server supports Postscript fonts. If, however, -you're running LyX remotely, then you'll have to do this step yourself. -'man xset' is your friend. +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 @@ -105,10 +79,7 @@ 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: - ftp://ftp.gnu.org/gnu/gettext/gettext-0.11.4.tar.gz - -LyX contains a hack to work around this, but you should not rely too -much on it. + ftp://ftp.gnu.org/gnu/gettext/ To use the thesaurus, you will need to install libAikSaurus, available from: @@ -116,20 +87,13 @@ from: The two following programs should be available at configuration time: - o Perl (at least 5.002) is needed for the reLyX script. reLyX will - not be installed if perl is not found. If the environment - variable PERL is set to point to some program, this value will be - used, even if the program does no exist (this can be useful if - the machine on which LyX is built is not the one where it will - run). - 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 Edit>Reconfigure. -Finally, you will need to have python 1.5.2 or newer installed to be -able to import older LyX files with the lyx2lyx script (this script is -called automatically when opening a file). + 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). Creating the Makefile @@ -146,31 +110,30 @@ For more complicated cases, LyX configure takes the following specific flags: o --with-frontend=FRONTEND that allows to specify which frontend you - want to use. Default is "xforms", and the other possible value is - "qt". + want to use. There is no default value: this switch is required. o --with-extra-lib=DIRECTORY that specifies the path where LyX will - find extra libraries (Xpm, xforms, qt) it needs. Defaults to NONE + find extra libraries (qt3, qt4, gtk) it needs. Defaults to NONE (i.e. search in standard places). You can specify several directories, separated by colons. o --with-extra-inc=DIRECTORY that gives the place where LyX will find - xforms headers. Defaults to NONE (i.e. search in standard places). + extra headers. Defaults to NONE (i.e. search in standard places). You can specify several directories, separated by colons. o --with-extra-prefix[=DIRECTORY] that is equivalent to --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.3.1 - The LyX data directory will be something like /lyx-1.3.1/. + o --with-version-suffix will install LyX as lyx-, e.g. lyx-1.4.1 + The LyX data directory will be something like /lyx-1.4.1/. Additionally your user configuration files will be found in e.g. - $HOME/.lyx-1.3.1 + $HOME/.lyx-1.4.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 - own, by doing something like : - ./configure --with-version-suffix=-latestcvs + own, by doing something like : + ./configure --with-version-suffix=-latestsvn Note that the standard configure options --program-prefix, --program-suffix and the others will not affect the shared LyX @@ -184,11 +147,6 @@ flags: optimization of LyX. The compile may be much quicker with some compilers, but LyX will run more slowly. - 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. - There are also flags to control the internationalization support in LyX: @@ -225,9 +183,10 @@ Moreover, the following generic configure flags may be useful: o --mandir=DIRECTORY gives the directory where the man pages will go. [defaults to ${prefix}/man] - o --enable-mainainer-mode enables some code that automatically + o --enable-maintainer-mode enables some code that automatically rebuilds the configure script, makefiles templates and other useful - files when needed. This is off by default, to avoid surprises. + files when needed. This is off by default on releases, to avoid + surprises. Note that the --with-extra-* commands are not really robust when it comes to use of relative paths. If you really want to use a relative path @@ -248,6 +207,11 @@ this file. In particular, the following options could be useful in some desperate cases: + 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. + 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. @@ -257,6 +221,15 @@ cases: is --disable-assertions. By default, this flag is on for development versions only. + 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 @@ -338,34 +311,6 @@ team member or users to help compiling on some particular architectures. If you find that some of this hints are wrong, please notify us. - o If you have problems indicating that configure cannot find a part of - the xforms or Xpm library, use the --with-extra-lib and --with-extra-inc - options of configure to specify where these libraries reside. - - o Configure will seemingly fail to find xpm.h and forms.h on linux - if the kernel headers are not available. Two cases are possible: - - - you have not installed the kernel sources. Then you should - install them or at least the kernel-headers package (or - whatever it is called in your distribution). - - - you have the sources, but you did a 'make mrproper' in the - kernel directory (this this removes some symbolic links that - are needed for compilation). A 'make symlinks' in linux kernel - sources fixes that. - - o if you are using RedHat Linux 7.x, you must make sure you have the - latest updated gcc and related packages installed (at least -85), - or LyX will not compile or will be mis-compiled. - - o if you get an error message when compiling LyX that looks like this : - - ../../src/minibuffer.h:17: using directive `Object' introduced - ambiguous type `_ObjectRec *' - - then you need to upgrade the version of the xforms library you have - installed. - o On SUN Sparc Solaris 8, you need gnumake. The LyX makefiles do not work with Solaris make.