-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 :-)
-
- 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
---------
-
-This section provides several hints that have been submitted by LyX
-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. 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 have GNU gettext installed on your system (e.g. on linux),
- you will get tons of warnings like:
-
- bullet_forms.C:101: warning: passing `char *' to argument 1 of
- `__builtin_constant_p(int)' lacks a cast
-
- 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.
-
- o It is possible to compile lyx with Tru64 Unix cxx compiler
- version 6.2, provided one uses
- CXX=cxx
- CXXFLAGS='-ptr /tmp/lyx_cxx_repository -std strict_ansi -g -O'
-
- 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 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 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
- X distribution (e.g., X11R5). If you encounter problems (or if, for
- some obscure reasons configure cannot find your X libraries) you can
- use the following options:
-
- o --x-libraries=DIRECTORY that indicates where the X libraries reside.
-
- o --x-includes=DIRECTORY that indicate where the X include files reside.
-
- The standard X11R5 libraries should work when the OpenWindows ones
- don't.
-
- o Some systems lack functions that LyX needs. To fix this, configure
- tries to link against the -liberty library, if it is available.
- If you experience problems with missing symbols at link time, you
- could try to install libiberty.a, which comes with several GNU
- packages (in particular libg++). In any case, please report your
- problems to lyx-devel@lists.lyx.org.
-
- The option --without-liberty disable the detection of -liberty. It
- is meant for debugging purpose only.
-
- o According to David Sundqvist <David_Sundqvist@vd.volvo.se>, 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):
-
- CXX = /opt/aCC/bin/aCC
- CXXFLAGS = -O +inst_none # The aCC compiler tries to run instantiations
- # which currently break.
-
- LIBS = -lforms -lXpm -lSM -lICE -lc -lm -lX11 -lCsup # must link with Csup
- LDFLAGS = -L/opt/aCC/lib # perhaps not needed.
-
-
- o On Digital Unix with gcc, you can get warnings like
-
-warning, LyXFamilyNames not found in original or external symbol tables, value defaults to 0
-
- These concern symbols beginning with an uppercase letter and seems
- to be harmless. Similarly, the compilation can end with the
- following warning:
-
-/bin/ld:
-Warning: Linking some objects which contain exception information sections
- and some which do not. This may cause fatal runtime exception handling
- problems (last obj encountered without exceptions was ../intl/libintl.a).
-
-
- You can safely ignore it.
-