X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=PROBLEMS;h=ccce14fa0a02edb91d459524e632124abff45376;hb=dbf2768f7b146e97e37a27316f70bb313f1acf15;hp=dab9c7c161ac49fa84d2c7f49b1b9c46b7eaf10c;hpb=571a24e2bfea15d37c3503414674f59e89ec9652;p=chise%2Fxemacs-chise.git.1 diff --git a/PROBLEMS b/PROBLEMS index dab9c7c..ccce14f 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.0. +XEmacs 21.4. 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,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 +#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 ): + 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,26 @@ microsoft website. * Problems with running XEmacs ============================== ** General +*** 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 @@ -726,7 +820,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. @@ -905,7 +999,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. @@ -1297,6 +1391,55 @@ affected virtually all ioctl() calls. ** Linux +*** 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 @@ -1315,6 +1458,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. @@ -1357,30 +1513,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 @@ -1429,9 +1561,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 @@ -1447,23 +1579,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. @@ -1696,14 +1850,38 @@ 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 +*** 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) ==============================================================================