XEmacs 21.2.31 "Iris".
[chise/xemacs-chise.git.1] / PROBLEMS
index da815d4..b5414a5 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -30,13 +30,19 @@ A general advice:
 ===============================
 
 ** General
 ===============================
 
 ** General
+*** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
+without also using `-fno-schedule-insns'.
+
+gcc will generate incorrect code otherwise, typically resulting in
+crashes in the function skip-syntax-backward.
+
 *** egcs-1.1
 
 There have been reports of egcs-1.1 not compiling XEmacs correctly on
 Alpha Linux.  There have also been reports that egcs-1.0.3a is O.K.
 
 *** egcs-1.1
 
 There have been reports of egcs-1.1 not compiling XEmacs correctly on
 Alpha Linux.  There have also been reports that egcs-1.0.3a is O.K.
 
-*** Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using
-`-fno-strength-reduce'.
+*** Don't use -O2 or -O3 with Cygwin 1.0, CodeFusion-99070 or gcc 2.7.2 on x86
+without also using `-fno-strength-reduce'.
 
 gcc will generate incorrect code otherwise.  This bug is present in at
 least 2.6.x and 2.7.[0-2].  This bug has been fixed in GCC 2.7.2.1 and
 
 gcc will generate incorrect code otherwise.  This bug is present in at
 least 2.6.x and 2.7.[0-2].  This bug has been fixed in GCC 2.7.2.1 and
@@ -44,6 +50,25 @@ later.  This bug is O/S independent, but is limited to x86 architectures.
 
 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
 
 
 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
 
+Unfortunately, later releases of Cygnus-released compilers (not the
+Net-released ones) have a bug with the same `problem signature'.
+
+If you're lucky, you'll get an error while compiling that looks like:
+
+event-stream.c:3189: internal error--unrecognizable insn:
+(insn 256 14 15 (set (reg/v:SI 24)
+        (minus:SI (reg/v:SI 25)
+            (const_int 2))) -1 (insn_list 11 (nil))
+    (nil))
+    0       0 [main]
+
+If you're unlucky, your code will simply execute incorrectly.
+
+*** Don't use gcc-2.95.2 with -mcpu=ultrasparc on Solaris 2.6.
+
+gcc will assume a 64-bit operating system, even though you've
+merely told it to assume a 64-bit instruction set.
+
 *** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
 using `-fno-caller-saves'.
 
 *** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
 using `-fno-caller-saves'.
 
@@ -119,6 +144,10 @@ libz.a in the X11 binary directory.
 ** AIX
 *** On AIX 4.3, you must specify --with-dialogs=athena with configure
 
 ** AIX
 *** On AIX 4.3, you must specify --with-dialogs=athena with configure
 
+*** The libXt shipped with AIX 4.3 is broken.  This causes xemacs -nw
+    to fail in various ways.  The solution is to build against stock
+    X11R6.
+
 *** On AIX, you get this compiler error message:
 
     Processing include file ./XMenuInt.h
 *** On AIX, you get this compiler error message:
 
     Processing include file ./XMenuInt.h
@@ -365,24 +394,25 @@ Richard Cognot <cognot@ensg.u-nancy.fr> writes:
 
 *** On HP-UX, problems with make
 
 
 *** On HP-UX, problems with make
 
-Marcus Thiessel <marcus_thiessel@hp.com>
+Marcus Thiessel <marcus@xemacs.org>
 
   Some releases of XEmacs (e.g. 20.4) require GNU make to build
   successfully. You don't need GNU make when building 21.x.
 
 *** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
 
 
   Some releases of XEmacs (e.g. 20.4) require GNU make to build
   successfully. You don't need GNU make when building 21.x.
 
 *** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
 
-Marcus Thiessel <marcus_thiessel@hp.com>
+Marcus Thiessel <marcus@xemacs.org>
 
   This might be a sed problem. For your own safety make sure to use
   GNU sed while dumping XEmacs.
 
 
   This might be a sed problem. For your own safety make sure to use
   GNU sed while dumping XEmacs.
 
-*** On HP-UX 11.0 XEmacs causes excessive X11 errors when running.
+*** On HP-UX 11.0 XEmacs causes excessive X11 errors when running. 
+    (also appears on AIX as reported in comp.emacs.xemacs)
 
 
-Marcus Thiessel <marcus_thiessel@hp.com>
+Marcus Thiessel <marcus@xemacs.org>
 
 
-  Unfortunately, XEmacs releases <21.0 don't work with Motif2.1. It
-  will compile but you will get excessive X11 errors like
+  Unfortunately, XEmacs releases prior to 21.0 don't work with
+  Motif2.1. It will compile but you will get excessive X11 errors like
 
   xemacs: X Error of failed request:  BadGC (invalid GC parameter)
 
 
   xemacs: X Error of failed request:  BadGC (invalid GC parameter)
 
@@ -395,6 +425,19 @@ Marcus Thiessel <marcus_thiessel@hp.com>
   Make sure /usr/lib/Motif1.2_R6/libXm.sl is a link to
   /usr/lib/Motif1.2_R6/libXm.3.
 
   Make sure /usr/lib/Motif1.2_R6/libXm.sl is a link to
   /usr/lib/Motif1.2_R6/libXm.3.
 
+*** On HP-UX 11.0: Object "" does not have windowed ancestor
+
+Marcus Thiessel <marcus@xemacs.org>
+
+  XEmacs dies without core file and reports:
+
+    Error: Object "" does not have windowed ancestor.
+
+  This is a bug. Please apply the patch PHSS_19964 (check if
+  superseded). The other alternative is to link with Motif1.2_R6 (see
+  previous item).
+
+
 ** SCO OpenServer
 *** Native cc on SCO OpenServer 5 is now OK.  Icc may still throw you
 a curve.  Here is what Robert Lipe <robertl@arnet.com> says:
 ** SCO OpenServer
 *** Native cc on SCO OpenServer 5 is now OK.  Icc may still throw you
 a curve.  Here is what Robert Lipe <robertl@arnet.com> says:
@@ -463,6 +506,61 @@ to take advantage of the keyboard map in emacskeys.sco.
 Note: Much of the above entry is probably not valid for XEmacs 21.0
 and later.
 
 Note: Much of the above entry is probably not valid for XEmacs 21.0
 and later.
 
+** Cygwin
+*** In general use etc/check_cygwin_setup.sh to trap environment problems.
+
+The script etc/check_cygwin_setup.sh will attempt to detect whether
+you have a suitable environment for building. This script may not work
+correctly if you are using ash instead of bash (see below).
+
+*** X11 not detected.
+
+This is usually because xmkmf is not in your path or because you are
+using the default cygwin shell. The default cygwin shell (/bin/sh.exe)
+is ash which appears to work in most circumstances but has some wierd
+failure modes. I recommend replacing sh.exe with bash.exe, this will
+mean configure is slower but more reliable.
+
+*** Subprocesses do not work.
+
+You do not have "tty" in your CYGWIN32 (for b19) or CYGWIN (for b20)
+environment variable. This must be set in your autoexec.bat (win95) or
+the system properties (winnt) as it must be read before the cygwin dll
+initializes.
+
+*** ^G does not work on hung subprocesses.
+
+This is a known problem. It can be remedied with cygwin b20 or greater
+by defining BROKEN_SIGIO in src/s/cygwin32.h, however this currently
+leads to instability in XEmacs.
+
+*** The XEmacs executable crashes at startup.
+
+This can be caused by many things.  
+
+If you are running with X11 you need to have cygwin b19 or cygwin
+b20.1 or greater, cygwin b20 will not work.
+
+If you are running with cygwin b19 make sure you are using egcs 1.0.2
+rather than vanilla gcc. XEmacs builds by default with -O3 which does
+not work with the gcc that ships with b19. Alternatively use -O2.
+
+*** The info files will not build.
+
+makeinfo that ships with cygwin (all versions) is a noop. You need to
+obtain makeinfo from somewhere or build it yourself.
+
+*** I have no graphics.
+
+You need to obtain the various graphics libraries. Pre-built versions
+of these and the X libraries are located on the XEmacs website in
+ftp://ftp.xemacs.org/pub/aux/cygwin*.
+
+*** There are no images in the toolbar buttons.
+
+You need version 4.71 of commctrl.dll which does not ship with windows
+95. You can get this by installing IE 4.0 or downloading it from the
+microsoft website.
 
 
 * Problems with running XEmacs
 
 
 * Problems with running XEmacs
@@ -477,17 +575,23 @@ shell.
 *** You type Control-H (Backspace) expecting to delete characters.
 
 Emacs has traditionally used Control-H for help; unfortunately this
 *** You type Control-H (Backspace) expecting to delete characters.
 
 Emacs has traditionally used Control-H for help; unfortunately this
-interferes with its use as Backspace on TTY's.  One way to solve this
-problem is to put this in your .emacs:
+interferes with its use as Backspace on TTY's.  As of XEmacs 21,
+XEmacs looks at the "erase" setting of TTY structures and maps C-h to
+backspace when erase is set to C-h.  This is sort of a special hack,
+but it makes it possible for you to use the standard:
+
+    stty erase ^H
 
 
-  (when (eq tty-erase-char ?\C-h)
-    (keyboard-translate ?\C-h ?\C-?)
-    (global-set-key "\M-?" 'help-command))
+to get your backspace key to erase characters.  The erase setting is
+recorded in the Lisp variable `tty-erase-char', which you can use to
+tune the settings in your .emacs.
 
 
-This checks whether the TTY erase char is C-h, and if it is, makes
-Control-H (Backspace) work sensibly, and moves help to Meta-? (ESC ?).
+A major drawback of this is that when C-h becomes backspace, it no
+longer invokes help.  In that case, you need to use f1 for help, or
+bind another key.  An example of the latter is the following code,
+which moves help to Meta-? (ESC ?):
 
 
-Note that you can probably also access help using F1.
+    (global-set-key "\M-?" 'help-command)
 
 *** Mail agents (VM, Gnus, rmail) cannot get new mail
 
 
 *** Mail agents (VM, Gnus, rmail) cannot get new mail
 
@@ -1148,6 +1252,16 @@ affected virtually all ioctl() calls.
 
 
 ** Linux
 
 
 ** Linux
+*** You get crashes in a non-C locale with Linux GNU Libc 2.0.
+
+Internationalization was not the top priority for GNU Libc 2.0.
+As of this writing (1998-12-28) you may get crashes while running
+XEmacs in a non-C locale.  For example, `LC_ALL=en_US xemacs' crashes
+while `LC_ALL=C xemacs' runs fine.  This happens for example with GNU
+libc 2.0.7.  Installing libintl.a and libintl.h built from gettext
+0.10.35 and re-building XEmacs solves the crashes.  Presumably soon 
+everyone will upgrade to GNU Libc 2.1 and this problem will go away.
+
 *** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
 
 If you build with `gpm' support on Linux, you cannot suspend XEmacs
 *** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
 
 If you build with `gpm' support on Linux, you cannot suspend XEmacs