diff options
| author | Glenn Morris | 2014-01-22 21:11:13 -0500 |
|---|---|---|
| committer | Glenn Morris | 2014-01-22 21:11:13 -0500 |
| commit | 79baa30b100c7de4c844c6e89d4a369c2ba95266 (patch) | |
| tree | 3c95be7e6f245cb4dba9463ed1056e68aecf59e3 | |
| parent | 3cee0272b182e539a712837fb74635bc4d7c4d63 (diff) | |
| download | emacs-79baa30b100c7de4c844c6e89d4a369c2ba95266.tar.gz emacs-79baa30b100c7de4c844c6e89d4a369c2ba95266.zip | |
* etc/PROBLEMS: Remove more obsolete stuff, modernize exec-shield a bit,
downplay LessTif (Motif is free software now).
| -rw-r--r-- | etc/PROBLEMS | 265 |
1 files changed, 68 insertions, 197 deletions
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index c3e172ec119..dba42d55fa7 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -24,8 +24,7 @@ A typical error message might be something like | |||
| 24 | No fonts match `-*-fixed-medium-r-*--6-*-*-*-*-*-iso8859-1' | 24 | No fonts match `-*-fixed-medium-r-*--6-*-*-*-*-*-iso8859-1' |
| 25 | 25 | ||
| 26 | This happens because some X resource specifies a bad font family for | 26 | This happens because some X resource specifies a bad font family for |
| 27 | Emacs to use. The possible places where this specification might be | 27 | Emacs to use. The possible places where this specification might be are: |
| 28 | are: | ||
| 29 | 28 | ||
| 30 | - in your ~/.Xdefaults file | 29 | - in your ~/.Xdefaults file |
| 31 | 30 | ||
| @@ -60,7 +59,7 @@ If your system uses Terminfo rather than termcap (most modern | |||
| 60 | systems do), this could happen if the proper version of | 59 | systems do), this could happen if the proper version of |
| 61 | ncurses is not visible to the Emacs configure script (i.e. it | 60 | ncurses is not visible to the Emacs configure script (i.e. it |
| 62 | cannot be found along the usual path the linker looks for | 61 | cannot be found along the usual path the linker looks for |
| 63 | libraries). It can happen because your version of ncurses is | 62 | libraries). It can happen because your version of ncurses is |
| 64 | obsolete, or is available only in form of binaries. | 63 | obsolete, or is available only in form of binaries. |
| 65 | 64 | ||
| 66 | The solution is to install an up-to-date version of ncurses in | 65 | The solution is to install an up-to-date version of ncurses in |
| @@ -280,8 +279,8 @@ documentation for the hooks involved. BBDB 2.00.06 fixes the problem. | |||
| 280 | 279 | ||
| 281 | *** The Hyperbole package causes *Help* buffers not to be displayed in | 280 | *** The Hyperbole package causes *Help* buffers not to be displayed in |
| 282 | Help mode due to setting `temp-buffer-show-hook' rather than using | 281 | Help mode due to setting `temp-buffer-show-hook' rather than using |
| 283 | `add-hook'. Using `(add-hook 'temp-buffer-show-hook | 282 | `add-hook'. Using `(add-hook 'temp-buffer-show-hook 'help-mode-finish)' |
| 284 | 'help-mode-maybe)' after loading Hyperbole should fix this. | 283 | after loading Hyperbole should fix this. |
| 285 | 284 | ||
| 286 | ** Keyboard problems | 285 | ** Keyboard problems |
| 287 | 286 | ||
| @@ -537,7 +536,7 @@ backtraces like this: | |||
| 537 | 4 _rld_text_resolve(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) | 536 | 4 _rld_text_resolve(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) |
| 538 | ["/comp2/mtibuild/v73/workarea/v7.3/rld/rld_bridge.s":175, 0xfb6032c] | 537 | ["/comp2/mtibuild/v73/workarea/v7.3/rld/rld_bridge.s":175, 0xfb6032c] |
| 539 | 538 | ||
| 540 | (`rld' is the dynamic linker.) We don't know yet why this | 539 | (`rld' is the dynamic linker.) We don't know why this |
| 541 | happens, but setting the environment variable LD_BIND_NOW to 1 (which | 540 | happens, but setting the environment variable LD_BIND_NOW to 1 (which |
| 542 | forces the dynamic linker to bind all shared objects early on) seems | 541 | forces the dynamic linker to bind all shared objects early on) seems |
| 543 | to work around the problem. | 542 | to work around the problem. |
| @@ -668,13 +667,6 @@ be done _after_ turning on Font Lock.) | |||
| 668 | Another alternative is to avoid a paren in column zero. For example, | 667 | Another alternative is to avoid a paren in column zero. For example, |
| 669 | in a Lisp string you could precede the paren with a backslash. | 668 | in a Lisp string you could precede the paren with a backslash. |
| 670 | 669 | ||
| 671 | ** With certain fonts, when the cursor appears on a character, the | ||
| 672 | character doesn't appear--you get a solid box instead. | ||
| 673 | |||
| 674 | One user on a Linux-based GNU system reported that this problem went | ||
| 675 | away with installation of a new X server. The failing server was | ||
| 676 | XFree86 3.1.1. XFree86 3.1.2 works. | ||
| 677 | |||
| 678 | ** Emacs pauses for several seconds when changing the default font. | 670 | ** Emacs pauses for several seconds when changing the default font. |
| 679 | 671 | ||
| 680 | This has been reported for fvwm 2.2.5 and the window manager of KDE | 672 | This has been reported for fvwm 2.2.5 and the window manager of KDE |
| @@ -779,7 +771,7 @@ Try other font set sizes (S-mouse-1). If the problem persists with | |||
| 779 | other sizes as well, your text is corrupted, probably through software | 771 | other sizes as well, your text is corrupted, probably through software |
| 780 | that is not 8-bit clean. If the problem goes away with another font | 772 | that is not 8-bit clean. If the problem goes away with another font |
| 781 | size, it's probably because some fonts pretend to be ISO-8859-1 fonts | 773 | size, it's probably because some fonts pretend to be ISO-8859-1 fonts |
| 782 | when they are really ASCII fonts. In particular the schumacher-clean | 774 | when they are really ASCII fonts. In particular the schumacher-clean |
| 783 | fonts have this bug in some versions of X. | 775 | fonts have this bug in some versions of X. |
| 784 | 776 | ||
| 785 | To see what glyphs are included in a font, use `xfd', like this: | 777 | To see what glyphs are included in a font, use `xfd', like this: |
| @@ -800,13 +792,6 @@ flexible. (Use option `utf-translate-cjk-mode' if you need CJK | |||
| 800 | support.) Files encoded as emacs-mule using oc-unicode aren't | 792 | support.) Files encoded as emacs-mule using oc-unicode aren't |
| 801 | generally read correctly by Emacs 21. | 793 | generally read correctly by Emacs 21. |
| 802 | 794 | ||
| 803 | ** After a while, Emacs slips into unibyte mode. | ||
| 804 | |||
| 805 | The VM mail package, which is not part of Emacs, sometimes does | ||
| 806 | (standard-display-european t) | ||
| 807 | That should be changed to | ||
| 808 | (standard-display-european 1 t) | ||
| 809 | |||
| 810 | * X runtime problems | 795 | * X runtime problems |
| 811 | 796 | ||
| 812 | ** X keyboard problems | 797 | ** X keyboard problems |
| @@ -868,11 +853,8 @@ you want to be able to bind one of these key sequences within Emacs. | |||
| 868 | 853 | ||
| 869 | *** Under X, C-v and/or other keys don't work. | 854 | *** Under X, C-v and/or other keys don't work. |
| 870 | 855 | ||
| 871 | These may have been intercepted by your window manager. In | 856 | These may have been intercepted by your window manager. |
| 872 | particular, AfterStep 1.6 is reported to steal C-v in its default | 857 | See the WM's documentation for how to change this. |
| 873 | configuration. Various Meta keys are also likely to be taken by the | ||
| 874 | configuration of the `feel'. See the WM's documentation for how to | ||
| 875 | change this. | ||
| 876 | 858 | ||
| 877 | *** Clicking C-mouse-2 in the scroll bar doesn't split the window. | 859 | *** Clicking C-mouse-2 in the scroll bar doesn't split the window. |
| 878 | 860 | ||
| @@ -1012,8 +994,7 @@ graphical file dialog boxes do not work properly. The "OK", "Filter" | |||
| 1012 | and "Cancel" buttons do not respond to mouse clicks. Dragging the | 994 | and "Cancel" buttons do not respond to mouse clicks. Dragging the |
| 1013 | file dialog window usually causes the buttons to work again. | 995 | file dialog window usually causes the buttons to work again. |
| 1014 | 996 | ||
| 1015 | The solution is to use LessTif instead. LessTif is a free replacement | 997 | As a workaround, you can try building Emacs using Motif or LessTif instead. |
| 1016 | for Motif. See the file INSTALL for information on how to do this. | ||
| 1017 | 998 | ||
| 1018 | Another workaround is not to use the mouse to trigger file prompts, | 999 | Another workaround is not to use the mouse to trigger file prompts, |
| 1019 | but to use the keyboard. This way, you will be prompted for a file in | 1000 | but to use the keyboard. This way, you will be prompted for a file in |
| @@ -1032,9 +1013,9 @@ successful. The binary GNU/Linux package | |||
| 1032 | lesstif-devel-0.92.0-1.i386.rpm was reported to have problems with | 1013 | lesstif-devel-0.92.0-1.i386.rpm was reported to have problems with |
| 1033 | menu placement. | 1014 | menu placement. |
| 1034 | 1015 | ||
| 1035 | On some systems, even with Motif 1.2 emulation, Emacs occasionally | 1016 | On some systems, Emacs occasionally locks up, grabbing all mouse and |
| 1036 | locks up, grabbing all mouse and keyboard events. We still don't know | 1017 | keyboard events. We don't know what causes these problems; they are |
| 1037 | what causes these problems; they are not reproducible by Emacs developers. | 1018 | not reproducible by Emacs developers. |
| 1038 | 1019 | ||
| 1039 | *** Motif: The Motif version of Emacs paints the screen a solid color. | 1020 | *** Motif: The Motif version of Emacs paints the screen a solid color. |
| 1040 | 1021 | ||
| @@ -1043,7 +1024,7 @@ This has been observed to result from the following X resource: | |||
| 1043 | Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-* | 1024 | Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-* |
| 1044 | 1025 | ||
| 1045 | That the resource has this effect indicates a bug in something, but we | 1026 | That the resource has this effect indicates a bug in something, but we |
| 1046 | do not yet know what. If it is an Emacs bug, we hope someone can | 1027 | do not know what. If it is an Emacs bug, we hope someone can |
| 1047 | explain what the bug is so we can fix it. In the mean time, removing | 1028 | explain what the bug is so we can fix it. In the mean time, removing |
| 1048 | the resource prevents the problem. | 1029 | the resource prevents the problem. |
| 1049 | 1030 | ||
| @@ -1710,17 +1691,6 @@ change the "cvvis" capability to send the "\E[?25h\E[?0c" command. | |||
| 1710 | 1691 | ||
| 1711 | ** FreeBSD | 1692 | ** FreeBSD |
| 1712 | 1693 | ||
| 1713 | *** FreeBSD 2.1.5: useless symbolic links remain in /tmp or other | ||
| 1714 | directories that have the +t bit. | ||
| 1715 | |||
| 1716 | This is because of a kernel bug in FreeBSD 2.1.5 (fixed in 2.2). | ||
| 1717 | Emacs uses symbolic links to implement file locks. In a directory | ||
| 1718 | with +t bit, the directory owner becomes the owner of the symbolic | ||
| 1719 | link, so that it cannot be removed by anyone else. | ||
| 1720 | |||
| 1721 | If you don't like those useless links, you can customize | ||
| 1722 | the option `create-lockfiles'. | ||
| 1723 | |||
| 1724 | *** FreeBSD: Getting a Meta key on the console. | 1694 | *** FreeBSD: Getting a Meta key on the console. |
| 1725 | 1695 | ||
| 1726 | By default, neither Alt nor any other key acts as a Meta key on | 1696 | By default, neither Alt nor any other key acts as a Meta key on |
| @@ -1747,8 +1717,8 @@ to make the Windows key the Meta key. Load the new keymap with | |||
| 1747 | christos@theory.tn.cornell.edu says: | 1717 | christos@theory.tn.cornell.edu says: |
| 1748 | 1718 | ||
| 1749 | The problem is that in your .cshrc you have something that tries to | 1719 | The problem is that in your .cshrc you have something that tries to |
| 1750 | execute `tty`. If you are not running the shell on a real tty then | 1720 | execute `tty`. If you are not running the shell on a real tty then |
| 1751 | tty will print "not a tty". Csh expects one word in some places, | 1721 | tty will print "not a tty". Csh expects one word in some places, |
| 1752 | but tty is giving it back 3. | 1722 | but tty is giving it back 3. |
| 1753 | 1723 | ||
| 1754 | The solution is to add a pair of quotes around `tty` to make it a single | 1724 | The solution is to add a pair of quotes around `tty` to make it a single |
| @@ -1792,12 +1762,6 @@ configures the X server. | |||
| 1792 | add mod2 = Mode_switch | 1762 | add mod2 = Mode_switch |
| 1793 | EOF | 1763 | EOF |
| 1794 | 1764 | ||
| 1795 | *** HP/UX: "Cannot find callback list" messages from dialog boxes in | ||
| 1796 | Emacs built with Motif. | ||
| 1797 | |||
| 1798 | This problem resulted from a bug in GCC 2.4.5. Newer GCC versions | ||
| 1799 | such as 2.7.0 fix the problem. | ||
| 1800 | |||
| 1801 | *** HP/UX: Emacs does not recognize the AltGr key. | 1765 | *** HP/UX: Emacs does not recognize the AltGr key. |
| 1802 | 1766 | ||
| 1803 | To fix this, set up a file ~/.dt/sessions/sessionetc with executable | 1767 | To fix this, set up a file ~/.dt/sessions/sessionetc with executable |
| @@ -1929,10 +1893,6 @@ compiling with GCC 4.2.3 or CC 5.7, with no optimizations. | |||
| 1929 | 1893 | ||
| 1930 | ** Irix | 1894 | ** Irix |
| 1931 | 1895 | ||
| 1932 | *** Irix 6.5: Emacs crashes on the SGI R10K, when compiled with GCC. | ||
| 1933 | |||
| 1934 | This seems to be fixed in GCC 2.95. | ||
| 1935 | |||
| 1936 | *** Irix: Trouble using ptys, or running out of ptys. | 1896 | *** Irix: Trouble using ptys, or running out of ptys. |
| 1937 | 1897 | ||
| 1938 | The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to | 1898 | The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to |
| @@ -1975,7 +1935,7 @@ problem. | |||
| 1975 | 1935 | ||
| 1976 | ** Emacs crashes when opening a file with a UNC path and rails-mode is loaded. | 1936 | ** Emacs crashes when opening a file with a UNC path and rails-mode is loaded. |
| 1977 | 1937 | ||
| 1978 | Loading rails-mode seems to interfere with UNC path handling. This has been | 1938 | Loading rails-mode seems to interfere with UNC path handling. This has been |
| 1979 | reported as a bug against both Emacs and rails-mode, so look for an updated | 1939 | reported as a bug against both Emacs and rails-mode, so look for an updated |
| 1980 | rails-mode that avoids this crash, or avoid using UNC paths if using | 1940 | rails-mode that avoids this crash, or avoid using UNC paths if using |
| 1981 | rails-mode. | 1941 | rails-mode. |
| @@ -1988,12 +1948,12 @@ to control tty emulation do not exist for native windows terminals. | |||
| 1988 | 1948 | ||
| 1989 | Using create-fontset-from-ascii-font or the --font startup parameter | 1949 | Using create-fontset-from-ascii-font or the --font startup parameter |
| 1990 | with a Chinese, Japanese or Korean font leads to display problems. | 1950 | with a Chinese, Japanese or Korean font leads to display problems. |
| 1991 | Use a Latin-only font as your default font. If you want control over | 1951 | Use a Latin-only font as your default font. If you want control over |
| 1992 | which font is used to display Chinese, Japanese or Korean character, | 1952 | which font is used to display Chinese, Japanese or Korean character, |
| 1993 | use create-fontset-from-fontset-spec to define a fontset. | 1953 | use create-fontset-from-fontset-spec to define a fontset. |
| 1994 | 1954 | ||
| 1995 | Frames are not refreshed while the File or Font dialog or a pop-up menu | 1955 | Frames are not refreshed while the File or Font dialog or a pop-up menu |
| 1996 | is displayed. This also means help text for pop-up menus is not | 1956 | is displayed. This also means help text for pop-up menus is not |
| 1997 | displayed at all. This is because message handling under Windows is | 1957 | displayed at all. This is because message handling under Windows is |
| 1998 | synchronous, so we cannot handle repaint (or any other) messages while | 1958 | synchronous, so we cannot handle repaint (or any other) messages while |
| 1999 | waiting for a system function to return the result of the dialog or | 1959 | waiting for a system function to return the result of the dialog or |
| @@ -2042,7 +2002,7 @@ this is on the Advanced tab of Regional Settings) to the language of | |||
| 2042 | the input method. | 2002 | the input method. |
| 2043 | 2003 | ||
| 2044 | To bind keys that produce non-ASCII characters with modifiers, you | 2004 | To bind keys that produce non-ASCII characters with modifiers, you |
| 2045 | must specify raw byte codes. For instance, if you want to bind | 2005 | must specify raw byte codes. For instance, if you want to bind |
| 2046 | META-a-grave to a command, you need to specify this in your `~/.emacs': | 2006 | META-a-grave to a command, you need to specify this in your `~/.emacs': |
| 2047 | 2007 | ||
| 2048 | (global-set-key [?\M-\340] ...) | 2008 | (global-set-key [?\M-\340] ...) |
| @@ -2053,7 +2013,7 @@ encoding appropriate to that environment. | |||
| 2053 | 2013 | ||
| 2054 | The %b specifier for format-time-string does not produce abbreviated | 2014 | The %b specifier for format-time-string does not produce abbreviated |
| 2055 | month names with consistent widths for some locales on some versions | 2015 | month names with consistent widths for some locales on some versions |
| 2056 | of Windows. This is caused by a deficiency in the underlying system | 2016 | of Windows. This is caused by a deficiency in the underlying system |
| 2057 | library function. | 2017 | library function. |
| 2058 | 2018 | ||
| 2059 | The function set-time-zone-rule gives incorrect results for many | 2019 | The function set-time-zone-rule gives incorrect results for many |
| @@ -2118,7 +2078,7 @@ likely to be a global one, and not Emacs specific. | |||
| 2118 | 2078 | ||
| 2119 | Many cheap inkjet, and even some cheap laser printers, do not | 2079 | Many cheap inkjet, and even some cheap laser printers, do not |
| 2120 | print plain text anymore, they will only print through graphical | 2080 | print plain text anymore, they will only print through graphical |
| 2121 | printer drivers. A workaround on MS-Windows is to use Windows' basic | 2081 | printer drivers. A workaround on MS-Windows is to use Windows' basic |
| 2122 | built in editor to print (this is possibly the only useful purpose it | 2082 | built in editor to print (this is possibly the only useful purpose it |
| 2123 | has): | 2083 | has): |
| 2124 | 2084 | ||
| @@ -2140,20 +2100,20 @@ or disable it entirely. | |||
| 2140 | 2100 | ||
| 2141 | ** Pressing the mouse button on MS-Windows does not give a mouse-2 event. | 2101 | ** Pressing the mouse button on MS-Windows does not give a mouse-2 event. |
| 2142 | 2102 | ||
| 2143 | This is usually a problem with the mouse driver. Because most Windows | 2103 | This is usually a problem with the mouse driver. Because most Windows |
| 2144 | programs do not do anything useful with the middle mouse button, many | 2104 | programs do not do anything useful with the middle mouse button, many |
| 2145 | mouse drivers allow you to define the wheel press to do something | 2105 | mouse drivers allow you to define the wheel press to do something |
| 2146 | different. Some drivers do not even have the option to generate a | 2106 | different. Some drivers do not even have the option to generate a |
| 2147 | middle button press. In such cases, setting the wheel press to | 2107 | middle button press. In such cases, setting the wheel press to |
| 2148 | "scroll" sometimes works if you press the button twice. Trying a | 2108 | "scroll" sometimes works if you press the button twice. Trying a |
| 2149 | generic mouse driver might help. | 2109 | generic mouse driver might help. |
| 2150 | 2110 | ||
| 2151 | ** Scrolling the mouse wheel on MS-Windows always scrolls the top window. | 2111 | ** Scrolling the mouse wheel on MS-Windows always scrolls the top window. |
| 2152 | 2112 | ||
| 2153 | This is another common problem with mouse drivers. Instead of | 2113 | This is another common problem with mouse drivers. Instead of |
| 2154 | generating scroll events, some mouse drivers try to fake scroll bar | 2114 | generating scroll events, some mouse drivers try to fake scroll bar |
| 2155 | movement. But they are not intelligent enough to handle multiple | 2115 | movement. But they are not intelligent enough to handle multiple |
| 2156 | scroll bars within a frame. Trying a generic mouse driver might help. | 2116 | scroll bars within a frame. Trying a generic mouse driver might help. |
| 2157 | 2117 | ||
| 2158 | ** Mail sent through Microsoft Exchange in some encodings appears to be | 2118 | ** Mail sent through Microsoft Exchange in some encodings appears to be |
| 2159 | mangled and is not seen correctly in Rmail or Gnus. We don't know | 2119 | mangled and is not seen correctly in Rmail or Gnus. We don't know |
| @@ -2253,7 +2213,7 @@ The solution is to remove this line from `etc/fstab'. | |||
| 2253 | *** Building a 32-bit executable on a 64-bit GNU/Linux architecture. | 2213 | *** Building a 32-bit executable on a 64-bit GNU/Linux architecture. |
| 2254 | 2214 | ||
| 2255 | First ensure that the necessary 32-bit system libraries and include | 2215 | First ensure that the necessary 32-bit system libraries and include |
| 2256 | files are installed. Then use: | 2216 | files are installed. Then use: |
| 2257 | 2217 | ||
| 2258 | env CC="gcc -m32" ./configure --build=i386-linux-gnu \ | 2218 | env CC="gcc -m32" ./configure --build=i386-linux-gnu \ |
| 2259 | --x-libraries=/usr/X11R6/lib | 2219 | --x-libraries=/usr/X11R6/lib |
| @@ -2305,7 +2265,7 @@ __MSVCRT__, like so: | |||
| 2305 | *** Building the MS-Windows port fails with a CreateProcess failure. | 2265 | *** Building the MS-Windows port fails with a CreateProcess failure. |
| 2306 | 2266 | ||
| 2307 | Some versions of mingw32 make on some versions of Windows do not seem | 2267 | Some versions of mingw32 make on some versions of Windows do not seem |
| 2308 | to detect the shell correctly. Try "make SHELL=cmd.exe", or if that | 2268 | to detect the shell correctly. Try "make SHELL=cmd.exe", or if that |
| 2309 | fails, try running make from Cygwin bash instead. | 2269 | fails, try running make from Cygwin bash instead. |
| 2310 | 2270 | ||
| 2311 | *** Building `ctags' for MS-Windows with the MinGW port of GCC fails. | 2271 | *** Building `ctags' for MS-Windows with the MinGW port of GCC fails. |
| @@ -2356,7 +2316,7 @@ described here most likely applies: | |||
| 2356 | through SDKPAINT | 2316 | through SDKPAINT |
| 2357 | 2317 | ||
| 2358 | The Emacs icon contains a high resolution PNG icon for Vista, which is | 2318 | The Emacs icon contains a high resolution PNG icon for Vista, which is |
| 2359 | not recognized by older versions of the resource compiler. There are | 2319 | not recognized by older versions of the resource compiler. There are |
| 2360 | several workarounds for this problem: | 2320 | several workarounds for this problem: |
| 2361 | 1. Use Free MinGW tools to compile, which do not have this problem. | 2321 | 1. Use Free MinGW tools to compile, which do not have this problem. |
| 2362 | 2. Install the latest Windows SDK. | 2322 | 2. Install the latest Windows SDK. |
| @@ -2431,68 +2391,51 @@ See <URL:http://debbugs.gnu.org/327, <URL:http://debbugs.gnu.org/821>. | |||
| 2431 | 2391 | ||
| 2432 | ** Dumping | 2392 | ** Dumping |
| 2433 | 2393 | ||
| 2434 | *** Linux: Segfault during `make bootstrap' under certain recent versions of the Linux kernel. | 2394 | *** Segfault during `make bootstrap' under the Linux kernel. |
| 2435 | 2395 | ||
| 2436 | With certain recent Linux kernels (like the one of Red Hat Fedora Core | 2396 | In Red Hat Linux kernels, "Exec-shield" functionality is enabled by |
| 2437 | 1 and newer), the new "Exec-shield" functionality is enabled by default, which | 2397 | default, which creates a different memory layout that can break the |
| 2438 | creates a different memory layout that breaks the emacs dumper. Emacs tries | 2398 | emacs dumper. Emacs tries to handle this at build time, but if this |
| 2439 | to handle this at build time, but if the workaround used fails, these | 2399 | fails, the following instructions may be useful. |
| 2440 | instructions can be useful. | ||
| 2441 | The work-around explained here is not enough on Fedora Core 4 (and possible | ||
| 2442 | newer). Read the next item. | ||
| 2443 | 2400 | ||
| 2444 | Configure can overcome the problem of exec-shield if the architecture is | 2401 | Exec-shield is enabled on your system if |
| 2445 | x86 and the program setarch is present. On other architectures no | ||
| 2446 | workaround is known. | ||
| 2447 | |||
| 2448 | You can check the Exec-shield state like this: | ||
| 2449 | 2402 | ||
| 2450 | cat /proc/sys/kernel/exec-shield | 2403 | cat /proc/sys/kernel/exec-shield |
| 2451 | 2404 | ||
| 2452 | It returns non-zero when Exec-shield is enabled, 0 otherwise. Please | 2405 | prints a value other than 0. (Please read your system documentation |
| 2453 | read your system documentation for more details on Exec-shield and | 2406 | for more details on Exec-shield and associated commands.) |
| 2454 | associated commands. Exec-shield can be turned off with this command: | ||
| 2455 | 2407 | ||
| 2456 | echo "0" > /proc/sys/kernel/exec-shield | 2408 | Additionally, Linux kernel versions since 2.6.12 randomize the virtual |
| 2409 | address space of a process by default. If this feature is enabled on | ||
| 2410 | your system, then | ||
| 2457 | 2411 | ||
| 2458 | When Exec-shield is enabled, building Emacs will segfault during the | 2412 | cat /proc/sys/kernel/randomize_va_space |
| 2459 | execution of this command: | ||
| 2460 | 2413 | ||
| 2461 | ./temacs --batch --load loadup [dump|bootstrap] | 2414 | prints a value other than 0. |
| 2462 | 2415 | ||
| 2463 | To work around this problem, it is necessary to temporarily disable | 2416 | When these features are enabled, building Emacs may segfault during |
| 2464 | Exec-shield while building Emacs, or, on x86, by using the `setarch' | 2417 | the execution of this command: |
| 2465 | command when running temacs like this: | ||
| 2466 | 2418 | ||
| 2467 | setarch i386 ./temacs --batch --load loadup [dump|bootstrap] | 2419 | ./temacs --batch --load loadup [dump|bootstrap] |
| 2468 | 2420 | ||
| 2421 | To work around this problem, you can temporarily disable these | ||
| 2422 | features while building Emacs. You can do so using the following | ||
| 2423 | commands (as root). Remember to re-enable them when you are done, | ||
| 2424 | by echoing the original values back to the files. | ||
| 2469 | 2425 | ||
| 2470 | *** Fedora Core 4 GNU/Linux: Segfault during dumping. | 2426 | echo 0 > /proc/sys/kernel/exec-shield |
| 2427 | echo 0 > /proc/sys/kernel/randomize_va_space | ||
| 2471 | 2428 | ||
| 2472 | In addition to exec-shield explained above "Linux: Segfault during | 2429 | Or, on x86, you can try using the `setarch' command when running |
| 2473 | `make bootstrap' under certain recent versions of the Linux kernel" | 2430 | temacs, like this: |
| 2474 | item, Linux kernel shipped with Fedora Core 4 randomizes the virtual | ||
| 2475 | address space of a process. As the result dumping may fail even if | ||
| 2476 | you turn off exec-shield. In this case, use the -R option to the setarch | ||
| 2477 | command: | ||
| 2478 | 2431 | ||
| 2479 | setarch i386 -R ./temacs --batch --load loadup [dump|bootstrap] | 2432 | setarch i386 -R ./temacs --batch --load loadup [dump|bootstrap] |
| 2480 | 2433 | ||
| 2481 | or | 2434 | or |
| 2482 | 2435 | ||
| 2483 | setarch i386 -R make bootstrap | 2436 | setarch i386 -R make |
| 2484 | |||
| 2485 | *** Fatal signal in the command temacs -l loadup inc dump. | ||
| 2486 | |||
| 2487 | This command is the final stage of building Emacs. It is run by the | ||
| 2488 | Makefile in the src subdirectory. | ||
| 2489 | |||
| 2490 | It has been known to get fatal errors due to insufficient swapping | ||
| 2491 | space available on the machine. | ||
| 2492 | 2437 | ||
| 2493 | On 68000s, it has also happened because of bugs in the | 2438 | (The -R option disables address space randomization.) |
| 2494 | subroutine `alloca'. Verify that `alloca' works right, even | ||
| 2495 | for large blocks (many pages). | ||
| 2496 | 2439 | ||
| 2497 | *** test-distrib says that the distribution has been clobbered. | 2440 | *** test-distrib says that the distribution has been clobbered. |
| 2498 | *** or, temacs prints "Command key out of range 0-127". | 2441 | *** or, temacs prints "Command key out of range 0-127". |
| @@ -2503,32 +2446,12 @@ This can be because the .elc files have been garbled. Do not be | |||
| 2503 | fooled by the fact that most of a .elc file is text: these are | 2446 | fooled by the fact that most of a .elc file is text: these are |
| 2504 | binary files and can contain all 256 byte values. | 2447 | binary files and can contain all 256 byte values. |
| 2505 | 2448 | ||
| 2506 | In particular `shar' cannot be used for transmitting GNU Emacs. | 2449 | If you have a copy of Emacs whose .elc files have been damaged in this |
| 2507 | It typically truncates "lines". What appear to be "lines" in | 2450 | way, you should be able to fix it by using: |
| 2508 | a binary file can of course be of any length. Even once `shar' | 2451 | |
| 2509 | itself is made to work correctly, `sh' discards null characters | 2452 | make bootstrap |
| 2510 | when unpacking the shell archive. | 2453 | |
| 2511 | 2454 | to regenerate all the .elc files. | |
| 2512 | I have also seen character \177 changed into \377. I do not know | ||
| 2513 | what transfer means caused this problem. Various network | ||
| 2514 | file transfer programs are suspected of clobbering the high bit. | ||
| 2515 | |||
| 2516 | If you have a copy of Emacs that has been damaged in its | ||
| 2517 | nonprinting characters, you can fix them: | ||
| 2518 | |||
| 2519 | 1) Record the names of all the .elc files. | ||
| 2520 | 2) Delete all the .elc files. | ||
| 2521 | 3) Recompile alloc.c with a value of PURESIZE twice as large. | ||
| 2522 | (See puresize.h.) You might as well save the old alloc.o. | ||
| 2523 | 4) Remake emacs. It should work now. | ||
| 2524 | 5) Running emacs, do Meta-x byte-compile-file repeatedly | ||
| 2525 | to recreate all the .elc files that used to exist. | ||
| 2526 | You may need to increase the value of the variable | ||
| 2527 | max-lisp-eval-depth to succeed in running the compiler interpreted | ||
| 2528 | on certain .el files. 400 was sufficient as of last report. | ||
| 2529 | 6) Reinstall the old alloc.o (undoing changes to alloc.c if any) | ||
| 2530 | and remake temacs. | ||
| 2531 | 7) Remake emacs. It should work now, with valid .elc files. | ||
| 2532 | 2455 | ||
| 2533 | *** temacs prints "Pure Lisp storage exhausted". | 2456 | *** temacs prints "Pure Lisp storage exhausted". |
| 2534 | 2457 | ||
| @@ -2611,38 +2534,18 @@ as a macro. If the definition (in both unex*.c and malloc.c) is wrong, | |||
| 2611 | it can cause problems like this. You might be able to find the correct | 2534 | it can cause problems like this. You might be able to find the correct |
| 2612 | value in the man page for a.out (5). | 2535 | value in the man page for a.out (5). |
| 2613 | 2536 | ||
| 2614 | * Runtime problems on legacy systems | 2537 | * Problems on legacy systems |
| 2615 | 2538 | ||
| 2616 | This section covers bugs reported on very old hardware or software. | 2539 | This section covers bugs reported on very old hardware or software. |
| 2617 | If you are using hardware and an operating system shipped after 2000, | 2540 | If you are using hardware and an operating system shipped after 2000, |
| 2618 | it is unlikely you will see any of these. | 2541 | it is unlikely you will see any of these. |
| 2619 | 2542 | ||
| 2620 | *** OPENSTEP 4.2: Compiling syntax.c with gcc 2.7.2.1 fails. | ||
| 2621 | |||
| 2622 | The compiler was reported to crash while compiling syntax.c with the | ||
| 2623 | following message: | ||
| 2624 | |||
| 2625 | cc: Internal compiler error: program cc1obj got fatal signal 11 | ||
| 2626 | |||
| 2627 | To work around this, replace the macros UPDATE_SYNTAX_TABLE_FORWARD, | ||
| 2628 | INC_BOTH, and INC_FROM with functions. To this end, first define 3 | ||
| 2629 | functions, one each for every macro. Here's an example: | ||
| 2630 | |||
| 2631 | static int update_syntax_table_forward(int from) | ||
| 2632 | { | ||
| 2633 | return(UPDATE_SYNTAX_TABLE_FORWARD(from)); | ||
| 2634 | }/*update_syntax_table_forward*/ | ||
| 2635 | |||
| 2636 | Then replace all references to UPDATE_SYNTAX_TABLE_FORWARD in syntax.c | ||
| 2637 | with a call to the function update_syntax_table_forward. | ||
| 2638 | |||
| 2639 | *** Solaris 2.x | 2543 | *** Solaris 2.x |
| 2640 | 2544 | ||
| 2641 | **** Strange results from format %d in a few cases, on a Sun. | 2545 | **** Strange results from format %d in a few cases, on a Sun. |
| 2642 | 2546 | ||
| 2643 | Sun compiler version SC3.0 has been found to miscompile part of | 2547 | Sun compiler version SC3.0 has been found to miscompile part of editfns.c. |
| 2644 | editfns.c. The workaround is to compile with some other compiler such | 2548 | The workaround is to compile with some other compiler such as GCC. |
| 2645 | as GCC. | ||
| 2646 | 2549 | ||
| 2647 | **** On Solaris, Emacs dumps core if lisp-complete-symbol is called. | 2550 | **** On Solaris, Emacs dumps core if lisp-complete-symbol is called. |
| 2648 | 2551 | ||
| @@ -2702,38 +2605,6 @@ should do. | |||
| 2702 | pen@lysator.liu.se says (Feb 1998) that the Compose key does work | 2605 | pen@lysator.liu.se says (Feb 1998) that the Compose key does work |
| 2703 | if you link with the MIT X11 libraries instead of the Solaris X11 libraries. | 2606 | if you link with the MIT X11 libraries instead of the Solaris X11 libraries. |
| 2704 | 2607 | ||
| 2705 | *** HP/UX: Emacs is slow using X11R5. | ||
| 2706 | |||
| 2707 | This happens if you use the MIT versions of the X libraries--it | ||
| 2708 | doesn't run as fast as HP's version. People sometimes use the version | ||
| 2709 | because they see the HP version doesn't have the libraries libXaw.a, | ||
| 2710 | libXmu.a, libXext.a and others. HP/UX normally doesn't come with | ||
| 2711 | those libraries installed. To get good performance, you need to | ||
| 2712 | install them and rebuild Emacs. | ||
| 2713 | |||
| 2714 | *** UnixWare 2.1: Error 12 (virtual memory exceeded) when dumping Emacs. | ||
| 2715 | |||
| 2716 | Paul Abrahams (abrahams@acm.org) reports that with the installed | ||
| 2717 | virtual memory settings for UnixWare 2.1.2, an Error 12 occurs during | ||
| 2718 | the "make" that builds Emacs, when running temacs to dump emacs. That | ||
| 2719 | error indicates that the per-process virtual memory limit has been | ||
| 2720 | exceeded. The default limit is probably 32MB. Raising the virtual | ||
| 2721 | memory limit to 40MB should make it possible to finish building Emacs. | ||
| 2722 | |||
| 2723 | You can do this with the command `ulimit' (sh) or `limit' (csh). | ||
| 2724 | But you have to be root to do it. | ||
| 2725 | |||
| 2726 | According to Martin Sohnius, you can also retune this in the kernel: | ||
| 2727 | |||
| 2728 | # /etc/conf/bin/idtune SDATLIM 33554432 ## soft data size limit | ||
| 2729 | # /etc/conf/bin/idtune HDATLIM 33554432 ## hard " | ||
| 2730 | # /etc/conf/bin/idtune SVMMSIZE unlimited ## soft process size limit | ||
| 2731 | # /etc/conf/bin/idtune HVMMSIZE unlimited ## hard " | ||
| 2732 | # /etc/conf/bin/idbuild -B | ||
| 2733 | |||
| 2734 | (He recommends you not change the stack limit, though.) | ||
| 2735 | These changes take effect when you reboot. | ||
| 2736 | |||
| 2737 | ** MS-Windows 95, 98, ME, and NT | 2608 | ** MS-Windows 95, 98, ME, and NT |
| 2738 | 2609 | ||
| 2739 | *** MS-Windows NT/95: Problems running Perl under Emacs | 2610 | *** MS-Windows NT/95: Problems running Perl under Emacs |
| @@ -2947,7 +2818,7 @@ properly truncated. | |||
| 2947 | 2818 | ||
| 2948 | ** Archaic window managers and toolkits | 2819 | ** Archaic window managers and toolkits |
| 2949 | 2820 | ||
| 2950 | *** OpenLook: Under OpenLook, the Emacs window disappears when you type M-q. | 2821 | *** Open Look: Under Open Look, the Emacs window disappears when you type M-q. |
| 2951 | 2822 | ||
| 2952 | Some versions of the Open Look window manager interpret M-q as a quit | 2823 | Some versions of the Open Look window manager interpret M-q as a quit |
| 2953 | command for whatever window you are typing at. If you want to use | 2824 | command for whatever window you are typing at. If you want to use |