X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=INSTALL;h=645f1108dfc0d9200f945e365a71355725fade15;hb=ab254289c832cd045c56e6012d14b048618cb833;hp=515c9fcc548ef6038500d21194b20d9de26a397a;hpb=d0950acedaa91320340af398bb06d790486a2207;p=lyx.git diff --git a/INSTALL b/INSTALL index 515c9fcc54..645f1108df 100644 --- a/INSTALL +++ b/INSTALL @@ -24,7 +24,8 @@ These four steps will compile, test and install LyX: runs the program so you can check it out. 4) make install - will install it. + will install it. You can use "make install-strip" instead + if you want a smaller binary. Requirements @@ -53,16 +54,18 @@ developers to request a version for your system. You can get it from In addition, you must have libXpm version 4.7 (or newer; 4.8 rumoured to work). +You will also probably need GNU m4 (perhaps installed as gm4). + libXpm can be found at: http://www.funet.fi/pub/Linux/sunsite/X11/libs/!INDEX.html (or similar locations at other sunsites like sunsite.unc.edu) 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 gcc 2.8.1 and 2.95.x, the various versions of egcs -and Digital C++ version 6.1. Please tell us your experience with other -compilers. It is _not_ possible to compile LyX with gcc -2.7.x, and this is not likely to change in the future. +compilers are close to C++ standard conforming. Compilers that are +known to compile LyX are gcc 2.8.1 and 2.95.x, the various versions of +egcs and Digital C++ version 6.1. Please tell us your experience with +other compilers. It is _not_ possible to compile LyX with gcc 2.7.x, +and this is not likely to change in the future. Note that, contrary to LyX 1.0.x, LyX 1.1.x makes great use of C++ Standard Template Library (STL); this means that gcc users will have @@ -121,15 +124,15 @@ 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-version-suffix will install LyX as lyx-, e.g. lyx-1.2.0 + The LyX data directory will be something like /lyx-1.2.0/. + Additionally your user configuration files will be found in e.g. + $HOME/.lyx-1.2.0 + 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 + There are also flags to control the internationalization support in LyX: @@ -191,7 +194,7 @@ desperate cases: this flag is on for development versions only. o --enable-assertions that make the compilier generater run-time - code which checks that some variables have sane values. Opposite + code which checks that some variables have sane values. Opposite is --disable-assertions. By default, this flag is on for development versions only. @@ -218,6 +221,12 @@ Once you've got the Makefile created, you just have to type: All should be OK ;) +Since the binaries with debug information tend to be huge (although +this does not affect the run-time memory footprint), you maight want +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.xpm", that can be used to display lyx-documents in filemanagers. @@ -244,17 +253,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' + + Moreover, make sure you use the --without-latex-config switch + of configure, since others might not be interested by your + configuration :-) -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 + 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. - strip src/lyx + 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). -before installing. Note that this is done automatically for public -versions. + 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 @@ -269,42 +296,50 @@ 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. 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 have GNU gettext installed on your system (e.g. on linux), - you will get tons of warnings like: + 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 : - bullet_forms.C:101: warning: passing `char *' to argument 1 of - `__builtin_constant_p(int)' lacks a cast + ../../src/minibuffer.h:17: using directive `Object' introduced + ambiguous type `_ObjectRec *' - These are in harmless warnings caused by a bug in libintl.h, but - will be solved if you use --with-included-gettext when configuring - LyX. + then you need to upgrade the version of the xforms library you have + installed. - 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 , 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 @@ -329,14 +364,6 @@ notify us. The option --without-liberty disable the detection of -liberty. It is meant for debugging purpose only. - o There are several known bugs in gcc 2.7.xx that cause compiler - errors. This is in particular the case in spellchecker.C under - HP-UX 9.05 (ask Bernhard Iselborn for - more comments) and in lyxrc.C under Linux/Alpha or DEC OSF/1. In - both cases, the solution is to recompile the offending file - without optimization and resume the compilation process with - 'make'. - o According to David Sundqvist , some changes are needed to compile with aCC on HP-UX 10.20. These are the relevant changes in the makefile (with comments tagged on):