]> git.lyx.org Git - lyx.git/blobdiff - INSTALL
mathed cleanup, change mask for tmpdir
[lyx.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index cc40f6085dfcb4b74deb585e77bdd13f1222c91f..dfc1a8b50975013a57db21e40b69dd4830a6d0bf 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -122,14 +122,13 @@ flags:
        --with-extra-lib=DIRECTORY/lib --with-extra-inc=DIRECTORY/include
     If DIRECTORY is not specified, the current prefix is used.
 
-  o --with-lyxname=STRING sets the name of the installed LyX binary and 
-    of the LyX library directory to STRING. This may be used to
-    compile lyx as lyx-1.1 and avoid clashes with earlier/later
-    versions. Default is "lyx". 
-
-  o --with-two-colors=[yes|no] that forces LyX to use two colors pixmaps
-    (bitmaps) instead of the full-colored standard ones.  Defaults to no.
-
+  o --with-lyx-suffix=STRING adds the given suffix to the names of the 
+    LyX binary and scripts, and the library directory. For example,
+    "--with-lyx-suffix=1.1.6" would install a binary "lyx-1.1.6", and
+    create a directory "/usr/share/lyx-1.1.6", install "reLyX-1.1.6" etc.
+    Additionally, LyX will look for the user configuration file in e.g.
+    "$HOME/.lyx-1.1.6". This feature is useful for installing more than
+    one version of LyX on the same machine.
 
 There are also flags to control the internationalization support in
 LyX:
@@ -251,17 +250,35 @@ the source code directory.  After you have installed LyX for one
 architecture, use `make distclean' before reconfiguring for another
 architecture.
 
-Stripping LyX
--------------
+Preparing a binary distribution for the use of others
+------------------------------------------------------
+
+  o Compile LyX with the right compiler switches for your
+    architecture. In particular you might want to ensure that
+    libraries like xforms and xpm are statically linked. To this end,
+    you can use a command like
+
+                make LYX_LIBS='/foo/libforms.a /bar/libXpm.a'
 
-A LyX binary for linux is about 1M when compiled without debug-information 
-and with dynamic libraries.  If yours is much bigger you probably compiled 
-it with debug-informations (-g).  If you don't want to debug LyX just enter
+    Moreover, make sure you use the --without-latex-config switch
+    of configure, since others might not be interested by your
+   configuration :-) 
 
-          strip src/lyx
+  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. 
 
-before installing.  Note that this is done automatically for public
-versions.
+  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
@@ -276,13 +293,39 @@ notify us.
     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
-    you did a 'make mrproper' in the kernel directory, because this
-    removes some symbolic links that are needed for compilation. A 'make
-    symlinks' in linux kernel sources fixes that.
+  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. The 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 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 If you are using RedHat 7.0 and the option --with-frontend=kde, you
+    will need to configure LyX as follows :
+
+       export QTDIR=/usr/lib/qt-1.45
+       export CC="egcs -L/usr/lib"
+       export CXX="egcs++ -L/usr/lib"
+       ./configure --with-frontend=kde 
+
+    If you your version of gcc-c++ is > 2.96-69, you may not need to do
+    this.
 
   o If you have GNU gettext installed on your system (e.g. on linux),
-    you will get tons of warnings like:
+    you may get tons of warnings like:
 
     bullet_forms.C:101: warning: passing `char *' to argument 1 of
     `__builtin_constant_p(int)' lacks a cast
@@ -291,27 +334,26 @@ notify us.
     will be solved if you use --with-included-gettext when configuring
     LyX.
 
-  o It is possible to compile lyx with Digital Unix cxx compiler
-    version 6.1 (and presumably compaq C++ 6.2 on both Tru64 unix and
-    linux/alpha, when this will be available), provided one uses
-       CXX=cxx
-       CXXFLAGS='-ptr /tmp/lyx_cxx_repository -std strict_ansi -g -O'
+  o It is possible to compile lyx with Tru64 Unix cxx compiler
+    version 6.2, provided one uses
+       CXX='cxx -std strict_ansi'
+       CXXFLAGS='-ptr /tmp/lyx_cxx_repository -g'
+       CC=cc
 
     Note that this will not work when compiling directly from the cvs
     repository, due to the tricks used by automake for dependencies. Ask
     Jean-Marc.Lasgouttes@inria.fr for a workaround.
 
-  o On Digital Unix with cxx, you may have a compilation error in
+  o On Tru64 Unix, you may have to compile with
+    --with-included-string to work around a Tru64 linker limitation
+    (the STL string template creates names which may be too long). We
+    also had reports that it helps with gcc 2.95.2 on solaris 2.6. 
+
+  o On Tru64 Unix with cxx, you may have a compilation error in
     lyx_main.C if you have GNU gettext installed. This is due to a bug
     in gettext. To solve this, you can either (1) configure with
     --with-included-gettext or (2) add -D__STDC__ to cxx flags.
 
-  o The configure script seems to hang while it is checking the LaTeX setup.
-    We think that this is not a real problem, but rather a symptom of the 
-    fact that the ec-fonts are being rendered.  This process can take quite 
-    some time, so the remedy is simply to have patience. (The fonts need to 
-    be rendered at some point to be usable anyways.)
-
   o According to John Collins <collins@phys.psu.edu>, on SunOS 4.1.3 you may 
     find two sets of X libraries, and they are of course incompatible :-)
     One is the set provided as part of OpenWindows, and one is the standard