]> git.lyx.org Git - lyx.git/blobdiff - INSTALL
Updated.
[lyx.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index abd82bd7e7d5de240e0f01ce1afefe9fb82eebd0..228f3b67da459252d83591706ee951cbe98800e2 100644 (file)
--- 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=<path-to-your-qt-installation> 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=<path-to-your-qt-installation>
+           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 and 4.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
@@ -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-<version>, e.g. lyx-1.3.1
-    The LyX data directory will be something like <whatever>/lyx-1.3.1/.
+  o --with-version-suffix will install LyX as lyx-<version>, e.g. lyx-1.4.1
+    The LyX data directory will be something like <whatever>/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:
 
@@ -249,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.
@@ -258,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
@@ -339,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.