XEmacs 21.4.10 "Military Intelligence".
[chise/xemacs-chise.git.1] / PROBLEMS
index 2daf276..b6dd37a 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -17,19 +17,48 @@ Use `C-c C-f' to move to the next equal level of outline, and
 `C-c C-b' to move to previous equal level.  `C-h m' will give more
 info about the Outline mode.
 
-Also, Try finding the things you need using one of the search commands
+Also, try finding the things you need using one of the search commands
 XEmacs provides (e.g. `C-s').
 
-A general advice:
-    WATCH OUT for .emacs file!  ~/.emacs is your Emacs init file.  If
-    you observe strange problems, invoke XEmacs with the `-q' option
-    and see if you can repeat the problem.
+General advice:
+
+    WATCH OUT for your init file! (~/.xemacs/init.el or ~/.emacs)  If
+    you observe strange problems, invoke XEmacs with the `-vanilla'
+    option and see if you can repeat the problem.
+
+    Note that most of the problems described here manifest at RUN
+    time, even those described as BUILD problems.  It is quite unusual
+    for a released XEmacs to fail to build.  So a "build problem"
+    requires you to tweak the build environment, then rebuild XEmacs.
+    A "runtime problem" is one that can be fixed by proper
+    configuration of the existing build.  Compatibility problems and
+    Mule issues are generally runtime problems, but are treated
+    separately for convenience.
 
 
 * Problems with building XEmacs
 ===============================
 
 ** General
+    Much general information is in INSTALL.  If it's covered in
+    INSTALL, we don't repeat it here.
+
+*** How does I configure to get the buffer tabs/progress bars?
+
+These features depend on support for "native widgets".  Use the
+--with-widgets option to configure.  Configuration of widgets is
+automatic for "modern" toolkits (MS Windows, GTK, and Motif), but if
+you are using Xt and the Athena widgets, you will probably want to
+specify a "3d" widget set.  See configure --usage, and don't forget to
+install the corresponding development libraries.
+
+*** I know I have libfoo installed, but configure doesn't find it.
+
+Typical of Linux systems with package managers.  To link with a shared
+library, you only need the shared library.  To compile objects that
+link with it, you need the headers---and distros don't provide them with
+the libraries.  You need the additional "development" package, too.
+
 *** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
 without also using `-fno-schedule-insns'.
 
@@ -187,6 +216,33 @@ Valdis.Kletnieks@vt.edu writes:
 
 
 ** SunOS/Solaris
+*** Crashes when using Motif libraries, especially with multiple frames.
+
+Crashes that produce C-backtraces like this:
+
+#0  0xfec9a118 in _libc_kill () from /usr/lib/libc.so.1
+#1  0x77f48 in fatal_error_signal (sig=11)
+    at /codes/rpluim/xemacs-21.4/src/emacs.c:539
+#2  <signal handler called>
+#3  0xfee929f4 in XFindContext () from /usr/openwin/lib/libX11.so.4
+#4  0xfee92930 in XFindContext () from /usr/openwin/lib/libX11.so.4
+#5  0xff297e54 in DisplayDestroy () from /usr/dt/lib/libXm.so.4
+#6  0xfefbece0 in XtCallCallbackList () from /usr/openwin/lib/libXt.so.4
+#7  0xfefc486c in XtPhase2Destroy () from /usr/openwin/lib/libXt.so.4
+#8  0xfefc45d0 in _XtDoPhase2Destroy () from /usr/openwin/lib/libXt.so.4
+#9  0xfefc43b4 in XtDestroyWidget () from /usr/openwin/lib/libXt.so.4
+#10 0x15cf9c in x_delete_device (d=0x523f00)
+
+are caused by buggy Motif libraries.  Installing the following patches
+has been reported to solve the problem on Solaris 2.7:
+
+107081-40 107656-07
+
+For information (although they have not been confirmed to work), the
+equivalent patches for Solaris 2.8 are:
+
+108940-33 108652-25
+
 *** Dumping error when using GNU binutils / GNU ld on a Sun.
 
 Errors similar to the following:
@@ -212,6 +268,10 @@ normally held in /usr/ccs/bin.  This can be done by one of:
 
 - uninstalling GNU ld.
 
+- configuring XEmacs with these environment settings (suggested by
+  Goran Koruga <goran.koruga@hermes.si>):
+  LD=/usr/ccs/bin/ld AS=/usr/ccs/bin/as configure
+
 The Solaris2 FAQ claims:
 
     When you install gcc, don't make the mistake of installing
@@ -552,12 +612,38 @@ 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
+you have a suitable environment for building.  This script may not work
 correctly if you are using ash instead of bash (see below).
 
+*** Syntax errors running configure scripts, make failing with exit code 127
+    in inexplicable situations, etc.
+
+This may be 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 weird failure modes.  You need to
+replace the symlink with bash.exe.
+
+*** Lots of compile errors, esp. on lines containing macro definitions
+    terminated by backslashes.
+
+Your partition holding the source files is mounted binary.  It needs
+to be mounted text. (This will not screw up any binary files because
+the Cygwin utilities specify explicitly whether they want binary or
+text mode when working with source vs. binary files, which overrides
+the mount type.) To fix this, you just need to run the appropriate
+mount command once -- afterwards, the settings are remembered in the
+registry.
+
+*** Errors from make like /c:not found.
+
+make sure you set the environment variable MAKE_MODE to UNIX in your
+.bashrc, Control Panel (Windows 2000/NT), or AUTOEXEC.BAT (Windows
+98/95).
+
 *** X11 not detected.
 
 This is usually because xmkmf is not in your path or because you are
@@ -568,10 +654,9 @@ 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.
+You do not have "tty" in your CYGWIN 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.
 
@@ -579,17 +664,6 @@ 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
@@ -597,9 +671,9 @@ obtain makeinfo from somewhere or build it yourself.
 
 *** I have no graphics.
 
-You need to obtain the various graphics libraries. Pre-built versions
+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*.
+ftp://ftp.xemacs.org/pub/aux/cygwin/.
 
 *** There are no images in the toolbar buttons.
 
@@ -611,6 +685,40 @@ microsoft website.
 * Problems with running XEmacs
 ==============================
 ** General
+*** At startup I get a warning on stderr about missing charsets:
+
+    Warning: Missing charsets in String to FontSet conversion
+
+You need to specify appropriate charsets for your locale (usually the
+value of the LANG environment variable) in .Xresources.  See
+etc/Emacs.ad for the relevant resources (mostly menubar fonts and
+fontsets).  Do not edit this file, it's purely informative.
+
+If you have no satisfactory fonts for iso-8859-1, XEmacs will crash.
+
+It looks like XFree86 4.x (the usual server on Linux and *BSD) has
+some braindamage where .UTF-8 locales will always generate this
+message, because the XFree86 (font)server doesn't know that UTF-8 will
+use the ISO10646-1 font registry (or a Cmap or something).
+
+If you are not using a .UTF-8 locale and see this warning for a
+character set not listed in the default in Emacs.ad, please let
+xemacs-beta@xemacs.org know about it, so we can add fonts to the
+appropriate fontsets and stifle this warning.  (Unfortunately it's
+buried in Xlib, so we can't easily get rid of it otherwise.)
+
+*** Whenever I try to retrieve a remote file, I have problems.
+
+A typical error: FTP Error: USER request failed; 500 AUTH not understood.
+Thanks to giacomo boffi <giacomo.boffi@polimi.it> on comp.emacs.xemacs:
+
+   tell your ftp client to not attempt AUTH authentication (or do not
+   use FTP servers that don't understand AUTH)
+
+and notes that you need to add an element (often "-u") to
+`efs-ftp-program-args'.  Use M-x customize-variable, and verify the
+needed flag with `man ftp' or other local documentation.
+
 *** gnuserv is running, some clients can connect, but others cannot.
 
 The code in gnuslib.c respects the value of TMPDIR.  If the server and
@@ -734,7 +842,7 @@ may need to add "#define static" to the m- or the s- file.
 Try evaluating the form (setq lock-directory nil) and see if that helps.
 There is a problem with file-locking on some systems (possibly related
 to NFS) that I don't understand.  Please send mail to the address
-xemacs@xemacs.org if you figure this one out.
+xemacs-beta@xemacs.org if you figure this one out.
 
 *** When emacs starts up, I get lots of warnings about unknown keysyms.
 
@@ -913,7 +1021,7 @@ redisplay on the traditional terminals, or over slow lines can be very
 slow.
 
 If you are interested in fixing this, please let us know at
-<xemacs@xemacs.org>.
+<xemacs-beta@xemacs.org>.
 
 *** Screen is updated wrong, but only on one kind of terminal.
 
@@ -1103,6 +1211,20 @@ Use the following instead
        Emacs*EmacsFrame.geometry:              81x56--9--1
 
 
+** MacOS/X, Darwin
+*** XEmacs crashes on MacOS within font-lock, or when dealing
+with large compilation buffers, or in other regex applications.
+
+The default stack size under MacOS/X is rather small (512k as opposed
+to Solaris 8M), hosing the regexp code, which uses alloca()
+extensively, overflowing the stack when complex regexps are used.
+Workarounds:
+
+1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
+   equivalent;
+
+2) Recompile regex.c with REGEX_MALLOC defined.
+
 ** AIX
 *** Your Delete key sends a Backspace to the terminal, using an AIXterm.
 
@@ -1305,6 +1427,55 @@ affected virtually all ioctl() calls.
 
 
 ** Linux
+*** XEmacs crashes on startup, in make-frame.
+
+Typically the Lisp backtrace includes
+
+   make-frame(nil #<x-device on ":0.0" 0x2558>)
+
+somewhere near the top.  One problem is due to an improvement in GNU
+ld that sorts the ELF reloc sections in the executable, giving
+dramatic speedups in startup for large executables.  It also confuses
+the traditional unexec code in XEmacs, leading to the core dump.  The
+solution is to use either the `--ldflags="-z nocombreloc" or the
+"--pdump" option to configure.  "--pdump" is recommended.
+
+Recent 21.4 and 21.5 versions of XEmacs autodetect this feature of ld
+in configure.  Unfortunately, Red Hat and SuSE (at least) distributed
+prerelease versions of ld (numbered around 2.11.90.x.y, nicknamed
+"Hannibal Lecter" at XEmacs.ORG) where autodetection fails but the
+feature is enabled by default.  The recommended procedure is to
+upgrade to binutils >= 2.12 and rerun configure.  Otherwise you must
+apply the flags by hand.
+
+Andrew Jaffe reported a problem on Red Hat 7.3 with identical
+symptoms, except that ld was already being invoked with -z
+nocombreloc.  Switching dialogs and widgets from Motif to Athena
+eliminated the problem.  Both LessTif and OpenMotif were installed,
+and a bad interaction is suspected.  This problem has not yet been
+fully analyzed.
+
+*** Debian
+**** XEmacs warns "Symbol `toggleClassRec' has different size in shared
+     object, consider re-linking / Symbol `labelClassRec' has different
+     size in shared object, consider re-linking / Warning: Representation
+     size 4 must match superclass's to override value"
+
+Sometimes this results in segfaults when using the tab control widget
+or a progress bar widget.
+
+Some versions of Debian install 3D versions of the Athena widget
+library as /usr/X11R6/lib/libXaw.so.  We have not yet solved the
+problem of identifying the actual library in use in ./configure, so it
+is possible for XEmacs to be compiled with reference to headers for
+"flat" Xaw but find a "3D" Xaw when loading.
+
+The straightforward solution is to rebuild XEmacs with additional
+configure options: --with-widgets=athena --with-athena=3d.
+
+There are several 3D Athena widget sets available; to see which ones
+are supported by XEmacs, use ./configure --usage.
+
 *** Mandrake
 
 The Mandrake Linux distribution is attempting to comprehensively
@@ -1323,6 +1494,19 @@ XEmacs to use the Alt key" below.
 The color-gcc wrapper (see below) is in common use on the Mandrake
 platform.
 
+*** XEmacs configured with ESD crashes with a segmentation violation
+
+This often occurs when a progress bar pops up.
+
+The problem is that the ESD sound daemon manipulates interrupts in a
+way that disagrees with XEmacs.  The currently available workaround is
+not very satisfactory: remove ESD support.  Rebuild after
+reconfiguring with the option --with-sound=none[,native][,nas]
+
+The funny syntax (requiring the initial "none") is for backward
+compatibility, and may change.  Native sound and NAS do not cause the
+problem, so they may be added to the option to get some sound support.
+
 *** I want XEmacs to use the Alt key, not the XXX key, for Meta commands
 
 For historical reasons, XEmacs looks for a Meta key, then an Alt key.
@@ -1365,30 +1549,6 @@ http://www.geocities.com/kensanata/color-emacs.html#ansicolors
 This is written for the mainline GNU Emacs but the author has made
 efforts to adapt it to XEmacs.  YMMV.
 
-*** 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
-because gpm installs a buggy SIGTSTP handler.  Either compile with
-`--with-gpm=no', or don't suspend XEmacs on the Linux console until
-this bug is fixed.
-
-*** With certain fonts, when the cursor appears on a character, the
-character doesn't appear--you get a solid box instead.
-
-One user on a Linux system reported that this problem went away with
-installation of a new X server.  The failing server was XFree86 3.1.1.
-XFree86 3.1.2 works.
-
 *** Slow startup on Linux.
 
 People using systems based on the Linux kernel sometimes report that
@@ -1437,9 +1597,9 @@ file is not necessary with this approach.
 A newer problem is due to XEmacs changing to use the modern
 getaddrinfo() interface from the older gethostbyname() interface.  The
 solution above is insufficient, because getaddrinfo() by default tries
-to get IPv6 information for localhost.  This always involves a dns
-lookup to get the CNAME, and the strategies above don't work.  It then
-falls back to IPv4 behavior.  This is good[tm]; trust us.
+to get IPv6 information for localhost (including the local X server).
+This always involves a dns lookup to get the CNAME, and the strategies
+above don't work.  It then falls back to IPv4 behavior.
 
 ***** Robust network case
 
@@ -1455,23 +1615,45 @@ IPv4 behavior.  Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever
 is appropriate) works in most cases.
 
 If you cannot or do not want to do that, you can hard code IPv4
-behavior in src/process-unix.c.  This is bad[tm], on your own head be
-it.  In the function unix_canonicalize_host_name() about ten lines
-down, change the statement
+behavior in src/process-unix.c.  Add `--with-ipv6-cname=no" to your
+configure options and rebuild XEmacs.
 
-  hints.ai_family = AF_UNSPEC;
+*** XEmacs disappears after several sound events in succession
 
-to
+If esd is not running (e.g. you unchecked the run esd checkbox in the
+GNOME Configuration tool), every sound event will cause the esound
+client library to signal SIGUSR1.  It is not that difficult (hold down
+PgUp or PgDn, for example) to cause XEmacs to generate additional
+SIGUSR1 signals before the first handler has a chance to reset, so the
+second SIGUSR1 causes the default behavior of ending the process.
 
-  hints.ai_family = PF_INET;
+The solution is either to build XEmacs with -sound=native,noesd or to make sure
+that esd is in fact running. 
 
-and rebuild XEmacs.
+*** You get crashes in a non-C locale with Linux GNU Libc 2.0.
 
-getaddrinfo() is also called in src/sysdep.c:init_system_name() and in
-src/process-unix.c:unix_open_network_stream().  It should not be
-useful to make this change in either of those places.
+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
+because gpm installs a buggy SIGTSTP handler.  Either compile with
+`--with-gpm=no', or don't suspend XEmacs on the Linux console until
+this bug is fixed.
+
+*** With certain fonts, when the cursor appears on a character, the
+character doesn't appear--you get a solid box instead.
+
+One user on a Linux system reported that this problem went away with
+installation of a new X server.  The failing server was XFree86 3.1.1.
+XFree86 3.1.2 works.
 ** IRIX
 *** On Irix, I don't see the toolbar icons and I'm getting lots of
 entries in the warnings buffer.
@@ -1506,7 +1688,7 @@ systems is a C++ lib, which apparently XEmacs cannot cope with.
 
 ** Digital UNIX/OSF/VMS/Ultrix
 *** XEmacs crashes on Digital Unix within font-lock, or when dealing
-with large compilation buffers.
+with large compilation buffers, or in other regex applications.
 
 The default stack size under Digital Unix is rather small (2M as
 opposed to Solaris 8M), hosing the regexp code, which uses alloca()
@@ -1704,14 +1886,46 @@ GCC.
 
 
 ** Windows
-*** Emacs exits with "X protocol error" when run with an X server for
-Windows.
+*** In general, the Windows code is less mature than the Unix code.
 
-A certain X server for Windows had a bug which caused this.
-Supposedly the newer 32-bit version of this server doesn't have the
-problem.
+The Windows code base is still changing quickly.  If you are
+experiencing problems, try the latest beta version to see if the
+problem still exists.  Also ask on xemacs-nt@xemacs.org.
+
+
+** Cygwin
+*** XEmacs fails to start because cygXpm-noX4.dll was not found.
 
+Andy Piper <andy@xemacs.org> sez:
 
+    cygXpm-noX4 is part of the cygwin distribution under libraries or
+    graphics, but is not installed by default. You need to run the
+    cygwin setup again and select this package.
+
+*** Subprocesses do not work.
+You do not have "tty" in your CYGWIN 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 by defining BROKEN_SIGIO
+in src/s/cygwin.h, however this currently leads to instability in XEmacs.
+(#### is this still true?)
+
+*** Errors from make like `/c:not found' when running `M-x compile'.
+
+Make sure you set the environment variable MAKE_MODE to UNIX in your
+init file (.xemacs/init.el), Control Panel (Windows 2000/NT), or
+AUTOEXEC.BAT (Windows 98/95).
+
+*** 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.
 
 * Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs)
 ==============================================================================