-Preparing a binary distribution for the use of others
-------------------------------------------------------
-
- o Compile LyX with the right compiler switches for your
- architecture. 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. 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 solaris 2.6, you may have to compile with --with-included-string
- if compiling with gcc 2.95.2.
-
- 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 LyX can be compiled on Tru64 Unix with either GNU's gcc or the default
- Compaq cxx compiler.
-
- There are no Alpha-specific problems with gcc.
-
- The following notes all refer to compilation with the Compaq cxx compiler.
-
- LyX cannot be compiled on Tru64 Unix 4.0d or 4.0e with the default cxx
- compiler. You should upgrade to at least cxx V6.2, to be found at
- ftp::/ftp.compaq.com/pub/products/C-CXX/tru64/cxx/CXX622V40.tar. Users
- running Tru64 Unix 4.0f and greater should have no real problems compiling
- LyX.
-
- cxx V6.2 will compile LyX out of the box.
- cxx V6.3-020 is also known to work, although there is a bug in
- /usr/include/cxx/deque. See Angus Leeming <leeming@lyx.org> for the
- patch.
- At the time of writing, cxx V6.5-026 is the latest cxx compiler. It is
- /not/ recommended. Not only do the bugs in the system header files still
- exist, but the compiler itself appears to be both buggy and extremely
- bloated (trebles the size of the stripped LyX binary).
-
- In order to compile LyX with the cxx compiler, you should run configure
- with the following flags:
- CXX='cxx -std strict_ansi'
- CXXFLAGS='-nopure_cname -nocleanup -ptr /tmp/lyx_cxx_repository -O2'
- CC='cc -std1'
- The -nopure_cname flag is needed for compilers V6.3 and above because
- LyX makes use of functions like popen, pclose that are defined in the
- c version of <stdio.h> but are not formally part of any c/c++ standard.
- They are not, therefore, included in the <cstdio> header file.