X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=PROBLEMS;h=dab9c7c161ac49fa84d2c7f49b1b9c46b7eaf10c;hb=refs%2Fheads%2Futf-2000%2Bmojikyo;hp=5ef0d6aef44a34180c44c50664cdfeae4e10bc75;hpb=499b5ad5e2308fd04e3654aaa462d099f1769fd1;p=chise%2Fxemacs-chise.git- diff --git a/PROBLEMS b/PROBLEMS index 5ef0d6a..dab9c7c 100644 --- a/PROBLEMS +++ b/PROBLEMS @@ -2,7 +2,7 @@ This file describes various problems that have been encountered in compiling, installing and running XEmacs. It has been updated for -XEmacs 21.4. +XEmacs 21.0. This file is rather large, but we have tried to sort the entries by their respective relevance for XEmacs, but may have not succeeded @@ -17,48 +17,19 @@ 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'). -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. +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. * 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'. @@ -216,33 +187,6 @@ 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 -#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: @@ -268,10 +212,6 @@ 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 ): - 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 @@ -612,38 +552,12 @@ 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 @@ -654,9 +568,10 @@ mean configure is slower but more reliable. *** 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. +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. @@ -664,6 +579,17 @@ 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 @@ -671,9 +597,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. @@ -685,83 +611,6 @@ microsoft website. * Problems with running XEmacs ============================== ** General - -*** XEmacs crashes mysteriously. - -Check whether XEmacs was configured --use-union-type. Many compilers -are known to treat union types incompatibly with proper functioning of -the Lisp_Object type. (Whether this is a compiler bug or nonstandard- -conforming code in XEmacs is a moot point.) Especially with ---with-mule, --pdump, and/or non-null --error-checking, this is known -to produce an unreliable build with many versions of MS VC++ and GCC, -and similar problems are likely to occur with other compilers. - -Symptoms are similar to garbage collection and other "wild pointer" -bugs, ie, stack-smashing and other hard-to-debug crashes in unrelated -code. Try reconfiguring and building without --use-union-type. - ---use-union-type _is_ useful to get improved _static_ type checking of -Lisp objects. It is theoretically possible that it might help with -aliasing bugs under optimization and improve runtime stability, but in -practice exactly the opposite seems to be true. If you don't work on -XEmacs C code directly, then avoid --use-union-type entirely for now. - -*** XEmacs crashes mysteriously in regexp-intensive applications (eg, Gnus) - -The regexp implementation used in XEmacs uses alloca by default for -efficiency. alloca provides no reliable way to check for out of -memory (in this case, stack). Normally not a problem, except for -systems with very small default stack allocations, and applications -that use multi-line regular expressions (ie, explicitly including ?\n) -in moderately large files (> 100kB or so). - -You may get relief by increasing the amount of stack space allocated -to your XEmacs process (a system-dependent operation, ask your -administrator or local experts for help), or by recompiling the regexp -module regex.c with REGEX_MALLOC defined, relinking, and redumping. - -*** 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 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 -the client have different values in their environment, you lose. -One program known to set TMPDIR and manifest this problem is exmh. -You can defeat the use of TMPDIR by unsetting USE_TMPDIR at the top of -gnuserv.h at build time. - *** C-z just refreshes the screen instead of suspending Emacs. You are probably using a shell that doesn't support job control, even @@ -877,7 +726,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-beta@xemacs.org if you figure this one out. +xemacs@xemacs.org if you figure this one out. *** When emacs starts up, I get lots of warnings about unknown keysyms. @@ -1056,7 +905,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 -. +. *** Screen is updated wrong, but only on one kind of terminal. @@ -1246,20 +1095,6 @@ 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. @@ -1462,76 +1297,6 @@ affected virtually all ioctl() calls. ** Linux -*** XEmacs crashes on exit. - -This is known to happen with Lesstif version 0.93.36. It is -apparently due to breakage in Lesstif. There is a patch for Lesstif. - -Frank McIngvale says: - - Ok, 0.93.34 works, and I tracked down the crash to a section - marked "experimental" in 0.93.36. Patch attached, "works for me". - -diff -u -r lesstif-0.93.36/lib/Xm/ImageCache.c lesstif-0.93.36-mod/lib/Xm/ImageCache.c ---- lesstif-0.93.36/lib/Xm/ImageCache.c 2002-08-05 14:53:24.000000000 -0500 -+++ lesstif-0.93.36-mod/lib/Xm/ImageCache.c 2002-11-11 11:13:12.000000000 -0600 -@@ -1166,5 +1166,4 @@ - DEBUGOUT(_LtDebug0(__FILE__, NULL, "_LtImageCacheScreenDestroy (XmGetPixmapByDepth) %p\n", - s)); - -- (void) _LTHashTableForEachItem(PixmapCache, YowIter, (XtPointer)s); - } - - -*** XEmacs crashes on startup, in make-frame. - -Typically the Lisp backtrace includes - - make-frame(nil #) - -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 @@ -1550,19 +1315,6 @@ 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. @@ -1605,6 +1357,30 @@ 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 @@ -1653,9 +1429,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 (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. +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. ***** Robust network case @@ -1671,45 +1447,23 @@ 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. Add `--with-ipv6-cname=no" to your -configure options and rebuild XEmacs. - -*** XEmacs disappears after several sound events in succession +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 -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 = AF_UNSPEC; -The solution is either to build XEmacs with -sound=native,noesd or to make sure -that esd is in fact running. - -*** You get crashes in a non-C locale with Linux GNU Libc 2.0. +to -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. + hints.ai_family = PF_INET; -*** `C-z', or `M-x suspend-emacs' hangs instead of suspending. +and rebuild XEmacs. -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. +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. -*** 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. @@ -1744,7 +1498,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, or in other regex applications. +with large compilation buffers. The default stack size under Digital Unix is rather small (2M as opposed to Solaris 8M), hosing the regexp code, which uses alloca() @@ -1942,46 +1696,14 @@ GCC. ** Windows -*** In general, the Windows code is less mature than the Unix code. - -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. +*** Emacs exits with "X protocol error" when run with an X server for +Windows. -Andy Piper sez: +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. - 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) ==============================================================================