annotate PROBLEMS @ 1318:b531bf8658e9

[xemacs-hg @ 2003-02-21 06:56:46 by ben] redisplay fixes et al. PROBLEMS: Add comment about Cygwin, unexec and sysmalloc. Move some non-general stuff out of general. Make a section for x86. configure.in: Add check for broken alloca in funcalls. mule/mule-cmds.el: Alias file-name to native not vice-versa. Do set EOL of native but not of process output to fix various problems and be consistent with code-init.el. code-cmds.el: Return a name not a coding system. code-init.el: Reindent. Remove `file-name' since it should always be the same as native. unicode.el: Rename to load-unicode-mapping-table as suggested by the anonymous (but rather Turnbullian) comment in unicode.c. xemacs.dsp: Add /k to default build. alloc.c: Make gc_currently_forbidden static. config.h.in, lisp.h: Move some stuff to lisp.h. console-gtk.h, console-impl.h, console-msw.h, console-x.h, event-Xt.c, event-msw.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-x.c, gtk-xemacs.c: Remove duplicated code to redraw exposed area. Add deadbox method needed by the generalized redraw code. Defer redrawing if already in redisplay. frame-msw.c, event-stream.c, frame.c: Add comments about calling Lisp. debug.c, general-slots.h: Move generalish symbols to general-slots.h. doprnt.c: reindent. lisp.h, dynarr.c: Add debug code for locking a dynarr to catch invalid mods. Use in redisplay.c. eval.c: file-coding.c: Define file-name as alias for native not vice-versa. frame-gtk.c, frame-x.c: Move Qwindow_id to general-slots. dialog-msw.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, gui.c, gui.h, menubar-msw.c, menubar.c: Ensure that various glyph functions that eval within redisplay protect the evals. Same for calls to internal_equal(). Modify various functions, e.g. gui_item_*(), to protect evals within redisplay, taking an in_redisplay parameter if it's possible for them to be called both inside and outside of redisplay. gutter.c: Defer specifier-changed updating till after redisplay, if necessary, since we need to enter redisplay to do it. gutter.c: Do nothing if in redisplay. lisp.h: Add version of alloca() for use in function calls. lisp.h: Add XCAD[D+]R up to 6 D's, and aliases X1ST, X2ND, etc. frame.c, frame.h, redisplay.c, redisplay.h, signal.c, toolbar.c: Redo critical-section code and move from frame.c to redisplay.c. Require that every place inside of redisplay catch errors itself, not at the edge of the critical section (thereby bypassing the rest of redisplay and leaving things in an inconsistent state). Introduce separate means of holding frame-size changes without entering a complete critical section. Introduce "post-redisplay" methods for deferring things till after redisplay. Abort if we enter redisplay reentrantly. Disable all quit checking in redisplay since it's too dangerous. Ensure that all calls to QUIT trigger an abort if unprotected. redisplay.c, scrollbar-gtk.c, scrollbar-x.c, scrollbar.c: Create enter/exit_redisplay_critical_section_maybe() for code that needs to ensure it's in a critical section but doesn't interfere with an existing critical section. sysdep.c: Use _wexecve() when under Windows NT for Unicode correctness. text.c, text.h: Add new_dfc() functions, which return an alloca()ed value rather than requiring an lvalue. (Not really used yet; used in another workspace, to come.) Add some macros for SIZED_EXTERNAL. Update the encoding aliases after involved scrutinization of the X manual. unicode.c: Answer the anonymous but suspiciously Turnbullian questions. Rename parse-unicode-translation-table to load-unicode-mapping-table, as suggested.
author ben
date Fri, 21 Feb 2003 06:57:21 +0000
parents 6981ff72175a
children 6aa23bb3da6b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
1 -*- mode:outline -*-
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
2
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 This file describes various problems that have been encountered
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
4 in compiling, installing and running XEmacs. It has been updated for
464
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
5 XEmacs 21.4.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
7 This file is rather large, but we have tried to sort the entries by
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
8 their respective relevance for XEmacs, but may have not succeeded
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
9 completely in that task. The file is divided into four parts:
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
10
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
11 - Problems with building XEmacs
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
12 - Problems with running XEmacs
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
13 - Compatibility problems
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
14 - Mule issues
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
15
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
16 Use `C-c C-f' to move to the next equal level of outline, and
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
17 `C-c C-b' to move to previous equal level. `C-h m' will give more
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
18 info about the Outline mode.
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
19
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
20 Also, Try finding the things you need using one of the search commands
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
21 XEmacs provides (e.g. `C-s').
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
22
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
23 General advice:
957
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
24
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
25 WATCH OUT for your init file! (~/.xemacs/init.el or ~/.emacs) If
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
26 you observe strange problems, invoke XEmacs with the `-vanilla'
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
27 option and see if you can repeat the problem.
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
28
957
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
29 Note that most of the problems described here manifest at RUN
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
30 time, even those described as BUILD problems. It is quite unusual
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
31 for a released XEmacs to fail to build. So a "build problem"
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
32 requires you to tweak the build environment, then rebuild XEmacs.
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
33 A "runtime problem" is one that can be fixed by proper
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
34 configuration of the existing build. Compatibility problems and
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
35 Mule issues are generally runtime problems, but are treated
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
36 separately for convenience.
c017b187b1ec [xemacs-hg @ 2002-08-10 06:37:37 by stephent]
stephent
parents: 915
diff changeset
37
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
38
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
39 * Problems with building XEmacs
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
40 ===============================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
42 ** General
1245
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
43
915
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
44 Much general information is in INSTALL. If it's covered in
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
45 INSTALL, we don't repeat it here.
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
46
1098
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
47 *** How do I configure to get the buffer tabs/progress bars?
915
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
48
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
49 These features depend on support for "native widgets". Use the
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
50 --with-widgets option to configure. Configuration of widgets is
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
51 automatic for "modern" toolkits (MS Windows, GTK, and Motif), but if
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
52 you are using Xt and the Athena widgets, you will probably want to
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
53 specify a "3d" widget set. See configure --usage, and don't forget to
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
54 install the corresponding development libraries.
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
55
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
56 *** I know I have libfoo installed, but configure doesn't find it.
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
57
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
58 Typical of Linux systems with package managers. To link with a shared
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
59 library, you only need the shared library. To compile objects that
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
60 link with it, you need the headers---and distros don't provide them with
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
61 the libraries. You need the additional "development" package, too.
31b3496cb402 [xemacs-hg @ 2002-07-10 06:23:36 by stephent]
stephent
parents: 892
diff changeset
62
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
63 *** When using gcc, you get the error message "undefined symbol __fixunsdfsi".
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
64 When using gcc, you get the error message "undefined symbol __main".
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
65
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
66 This means that you need to link with the gcc library. It may be called
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
67 "gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
68 config.h to point to it.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
69
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
70 It may also work to use the GCC version of `ld' instead of the standard one.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
71
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
72 *** Excessive optimization with pgcc can break XEmacs
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
73
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
74 It has been reported on some systems that compiling with -O6 can lead
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
75 to XEmacs failures. The workaround is to use a lower optimization
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
76 level. -O2 and -O4 have been tested extensively.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
77
229
434959a2fba3 Import from CVS: tag r20-5b13
cvs
parents: 227
diff changeset
78 All of this depends heavily on the version of pgcc and the version
434959a2fba3 Import from CVS: tag r20-5b13
cvs
parents: 227
diff changeset
79 of libc. Snapshots near the release of pgcc-1.0 have been tested
434959a2fba3 Import from CVS: tag r20-5b13
cvs
parents: 227
diff changeset
80 extensively and no sign of breakage has been seen on systems using
434959a2fba3 Import from CVS: tag r20-5b13
cvs
parents: 227
diff changeset
81 glibc-2.
434959a2fba3 Import from CVS: tag r20-5b13
cvs
parents: 227
diff changeset
82
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
83 *** src/Makefile and lib-src/Makefile are truncated--most of the file missing.
229
434959a2fba3 Import from CVS: tag r20-5b13
cvs
parents: 227
diff changeset
84
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
85 This can happen if configure uses GNU sed version 2.03. That version
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
86 had a bug. GNU sed version 2.05 works properly.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
87
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
88 *** When compiling with X11, you get "undefined symbol _XtStrings".
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
89
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
90 This means that you are trying to link emacs against the X11r4 version of
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
91 libXt.a, but you have compiled either Emacs or the code in the lwlib
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
92 subdirectory with the X11r5 header files. That doesn't work.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
93
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
94 Remember, you can't compile lwlib for r4 and emacs for r5, or vice versa.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
95 They must be in sync.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
96
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
97 *** test-distrib says that the distribution has been clobbered
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
98 or, temacs prints "Command key out of range 0-127"
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
99 or, temacs runs and dumps xemacs, but xemacs totally fails to work.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
100 or, temacs gets errors dumping xemacs
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
101
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
102 This can be because the .elc files have been garbled. Do not be
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
103 fooled by the fact that most of a .elc file is text: these are binary
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
104 files and can contain all 256 byte values.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
105
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
106 In particular `shar' cannot be used for transmitting GNU Emacs. It
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
107 typically truncates "lines". (this does not apply to GNU shar, which
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
108 uses uuencode to encode binary files.)
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
109
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
110 If you have a copy of Emacs that has been damaged in its nonprinting
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
111 characters, you can fix them by running:
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
112
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
113 make all-elc
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
114
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
115 This will rebuild all the needed .elc files.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
116
1318
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
117 ** Intel Architecture General
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
118
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
119 *** Don't use -O2 or -O3 with Cygwin 1.0, CodeFusion-99070 or gcc 2.7.2 on x86
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
120 without also using `-fno-strength-reduce'.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
121
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
122 gcc will generate incorrect code otherwise. This bug is present in at
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
123 least 2.6.x and 2.7.[0-2]. This bug has been fixed in GCC 2.7.2.1 and
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
124 later. This bug is O/S independent, but is limited to x86 architectures.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
125
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
126 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
127
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
128 Unfortunately, later releases of Cygnus-released compilers (not the
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
129 Net-released ones) have a bug with the same `problem signature'.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
130
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
131 If you're lucky, you'll get an error while compiling that looks like:
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
132
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
133 event-stream.c:3189: internal error--unrecognizable insn:
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
134 (insn 256 14 15 (set (reg/v:SI 24)
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
135 (minus:SI (reg/v:SI 25)
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
136 (const_int 2))) -1 (insn_list 11 (nil))
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
137 (nil))
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
138 0 0 [main]
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
139
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
140 If you're unlucky, your code will simply execute incorrectly.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
141
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
142 *** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
143 using `-fno-caller-saves'.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
144
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
145 gcc will generate incorrect code otherwise. This bug is still
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
146 present in gcc 2.7.2.3. There have been no reports to indicate the
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
147 bug is present in egcs 1.0 (or pgcc 1.0) or later. This bug is O/S
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
148 independent, but limited to x86 architectures.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
149
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
150 This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
151
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
152 *** `compress' and `uncompress' not found and XFree86
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
153
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
154 XFree86 installs a very old version of libz.a by default ahead of where
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
155 more modern version of libz might be installed. This will cause problems
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
156 when attempting to link against libMagick. The fix is to remove the old
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
157 libz.a in the X11 binary directory.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
158
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
159
1245
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
160 ** Motif
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
161
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
162 Motif is the X11 version of the Gnus torture test: if there's a way to
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
163 crash, Motif will find it. With the open source release of Motif, it
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
164 seems like a good idea to collect all Motif-related issues in one
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
165 place.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
166
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
167 You should also look in your OS's section, as it may not be Motif's
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
168 fault.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
169
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
170 *** XEmacs crashes on exit (#1).
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
171
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
172 The backtrace is something like:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
173
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
174 (gdb) where
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
175 #0 0xfeb9a480 in _libc_kill () from /usr/lib/libc.so.1
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
176 #1 0x000b0388 in fatal_error_signal ()
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
177 #2 <signal handler called>
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
178 #3 YowIter (ht=0xb, id=0x0, v=0x74682074, client=0x47e3c0)
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
179 at ImageCache.c:1159
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
180 #4 0xff26cc5c in _LTHashTableForEachItem (ht=0x4725e8,
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
181 iter=0xff26dda0 <YowIter>, ClientData=0x47e3c0) at Hash.c:671
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
182 #5 0xff2a4664 in destroy (w=0x496550) at Screen.c:352
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
183 #6 0xfef92118 in Phase2Destroy () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
184 #7 0xfef91940 in Recursive () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
185 #8 0xfef91e44 in XtPhase2Destroy () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
186 #9 0xfef91ae8 in _XtDoPhase2Destroy () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
187 #10 0xfef918cc in XtDestroyWidget () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
188 #11 0xfef91438 in CloseDisplay () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
189 #12 0xfef91394 in XtCloseDisplay () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
190 #13 0x0025b8b0 in x_delete_device ()
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
191 #14 0x000940b0 in delete_device_internal ()
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
192 #15 0x000806a0 in delete_console_internal ()
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
193
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
194 This is known to happen with Lesstif version 0.93.36. Similar
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
195 backtraces have also been observed on HP/UX and Solaris. There is a
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
196 patch for Lesstif. (This is not a solution; it just stops the crash.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
197 It may or may not be harmless, but "it works for the author".)
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
198
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
199 Note that this backtrace looks a lot like the one in the next item.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
200 However, this one is invulnerable to the Solaris patches mentioned there.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
201
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
202 Frank McIngvale <frankm@hiwaay.net> says:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
203
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
204 Ok, 0.93.34 works, and I tracked down the crash to a section
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
205 marked "experimental" in 0.93.36. Patch attached, "works for me".
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
206
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
207 diff -u -r lesstif-0.93.36/lib/Xm/ImageCache.c lesstif-0.93.36-mod/lib/Xm/ImageCache.c
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
208 --- lesstif-0.93.36/lib/Xm/ImageCache.c 2002-08-05 14:53:24.000000000 -0500
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
209 +++ lesstif-0.93.36-mod/lib/Xm/ImageCache.c 2002-11-11 11:13:12.000000000 -0600
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
210 @@ -1166,5 +1166,4 @@
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
211 DEBUGOUT(_LtDebug0(__FILE__, NULL, "_LtImageCacheScreenDestroy (XmGetPixmapByDepth) %p\n",
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
212 s));
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
213
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
214 - (void) _LTHashTableForEachItem(PixmapCache, YowIter, (XtPointer)s);
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
215 }
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
216
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
217 *** XEmacs crashes on exit (#2)
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
218
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
219 Especially frequent with multiple frames. Crashes that produce C
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
220 backtraces like this:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
221
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
222 #0 0xfec9a118 in _libc_kill () from /usr/lib/libc.so.1
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
223 #1 0x77f48 in fatal_error_signal (sig=11)
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
224 at /codes/rpluim/xemacs-21.4/src/emacs.c:539
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
225 #2 <signal handler called>
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
226 #3 0xfee929f4 in XFindContext () from /usr/openwin/lib/libX11.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
227 #4 0xfee92930 in XFindContext () from /usr/openwin/lib/libX11.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
228 #5 0xff297e54 in DisplayDestroy () from /usr/dt/lib/libXm.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
229 #6 0xfefbece0 in XtCallCallbackList () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
230 #7 0xfefc486c in XtPhase2Destroy () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
231 #8 0xfefc45d0 in _XtDoPhase2Destroy () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
232 #9 0xfefc43b4 in XtDestroyWidget () from /usr/openwin/lib/libXt.so.4
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
233 #10 0x15cf9c in x_delete_device (d=0x523f00)
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
234
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
235 are caused by buggy Motif libraries. Installing the following patches
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
236 has been reported to solve the problem on Solaris 2.7:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
237
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
238 107081-40 107656-07
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
239
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
240 For information (although they have not been confirmed to work), the
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
241 equivalent patches for Solaris 2.8 are:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
242
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
243 108940-33 108652-25
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
244
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
245 *** On HP-UX 11.0 XEmacs causes excessive X11 errors when running.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
246 (also appears on AIX as reported in comp.emacs.xemacs)
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
247
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
248 Marcus Thiessel <marcus@xemacs.org>
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
249
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
250 Unfortunately, XEmacs releases prior to 21.0 don't work with
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
251 Motif2.1. It will compile but you will get excessive X11 errors like
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
252
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
253 xemacs: X Error of failed request: BadGC (invalid GC parameter)
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
254
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
255 and finally XEmacs gets killed. A workaround is to use the
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
256 Motif1.2_R6 libraries. You can the following line to your call to
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
257 configure:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
258
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
259 --x-libraries="/usr/lib/Motif1.2_R6 -L/usr/lib/X11R6"
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
260
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
261 Make sure /usr/lib/Motif1.2_R6/libXm.sl is a link to
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
262 /usr/lib/Motif1.2_R6/libXm.3.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
263
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
264 *** On HP-UX 11.0: Object "" does not have windowed ancestor
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
265
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
266 Marcus Thiessel <marcus@xemacs.org>
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
267
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
268 XEmacs dies without core file and reports:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
269
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
270 Error: Object "" does not have windowed ancestor.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
271
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
272 This is a bug. Please apply the patch PHSS_19964 (check if
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
273 superseded). The other alternative is to link with Motif1.2_R6 (see
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
274 previous item).
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
275
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
276 *** Motif dialog boxes lose on Irix.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
277
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
278 Larry Auton <lda@control.att.com> writes:
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
279 Beware of not specifying
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
280
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
281 --with-dialogs=athena
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
282
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
283 if it builds with the motif dialogs [boom!] you're a dead man.
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
284
6981ff72175a [xemacs-hg @ 2003-01-31 12:14:00 by stephent]
stephent
parents: 1222
diff changeset
285
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
286 ** AIX
1009
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
287 *** IBM compiler fails: "The character # is not a valid C source character."
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
288
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
289 Most recently observed in 21.5.9, due to USE_KKCC ifdefs (they just
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
290 happen to tickle the implementation).
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
291
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
292 Valdis Kletnieks says:
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
293
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
294 The problem is that IBM defines a *MACRO* called 'memcpy', and we
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
295 have stuck a #ifdef/#endif inside the macro call. As a workaround,
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
296 try adding '-U__STR__' to your CFLAGS - this will cause string.h to
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
297 not do a #define for strcpy() to __strcpy() - it uses this for
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
298 automatic inlining support.
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
299
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
300 (For the record, the same issue affects a number of other functions
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
301 defined in string.h - basically anything the compiler knows how to
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
302 inline.)
c7a849296cb4 [xemacs-hg @ 2002-09-20 11:32:42 by stephent]
stephent
parents: 957
diff changeset
303
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
304 *** On AIX 4.3, you must specify --with-dialogs=athena with configure
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
305
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
306 *** The libXt shipped with AIX 4.3 up to 4.3.2 is broken. This causes
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
307 xemacs -nw to fail in various ways. The official APAR is this:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
308
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
309 APAR NUMBER: <IX89470> RESOLVED AS: PROGRAM ERROR
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
310
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
311 ABSTRACT:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
312 <IX89470>: LIBXT.A INCORRECT HANDLING OF EXCEPTIONS IN XTAPPADDINPUT
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
313
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
314 The solution is to install X11.base.lib at version >=4.3.2.5.
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
315
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
316 *** On AIX, you get this compiler error message:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
317
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
318 Processing include file ./XMenuInt.h
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
319 1501-106: (S) Include file X11/Xlib.h not found.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
320
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
321 This means your system was installed with only the X11 runtime i.d
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
322 libraries. You have to find your sipo (bootable tape) and install
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
323 X11Dev... with smit.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
324
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
325 *** On AIX 4.1.2, linker error messages such as
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
326 ld: 0711-212 SEVERE ERROR: Symbol .__quous, found in the global symbol table
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
327 of archive /usr/lib/libIM.a, was not defined in archive member shr.o.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
328
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
329 This is a problem in libIM.a. You can work around it by executing
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
330 these shell commands in the src subdirectory of the directory where
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
331 you build Emacs:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
332
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
333 cp /usr/lib/libIM.a .
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
334 chmod 664 libIM.a
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
335 ranlib libIM.a
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
336
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
337 Then change -lIM to ./libIM.a in the command to link temacs (in
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
338 Makefile).
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
339
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
340 *** Excessive optimization on AIX 4.2 can lead to compiler failure.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
341
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
342 Valdis.Kletnieks@vt.edu writes:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
343 At least at the b34 level, and the latest-and-greatest IBM xlc
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
344 (3.1.4.4), there are problems with -O3. I haven't investigated
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
345 further.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
346
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
347
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
348 ** SunOS/Solaris
1318
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
349 *** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
350 without also using `-fno-schedule-insns'.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
351
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
352 gcc will generate incorrect code otherwise, typically resulting in
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
353 crashes in the function skip-syntax-backward.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
354
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
355 *** Don't use gcc-2.95.2 with -mcpu=ultrasparc on Solaris 2.6.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
356
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
357 gcc will assume a 64-bit operating system, even though you've
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
358 merely told it to assume a 64-bit instruction set.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
359
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
360 *** Dumping error when using GNU binutils / GNU ld on a Sun.
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
361
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
362 Errors similar to the following:
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
363
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
364 Dumping under the name xemacs unexec():
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
365 dldump(/space/rpluim/xemacs-obj/src/xemacs): ld.so.1: ./temacs:
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
366 fatal: /space/rpluim/xemacs-obj/src/xemacs: unknown dynamic entry:
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
367 1879048176
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
368
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
369 are caused by using GNU ld. There are several workarounds available:
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
370
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
371 In XEmacs 21.2 or later, configure using the new portable dumper
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
372 (--pdump).
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
373
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
374 Alternatively, you can link using the Sun version of ld, which is
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
375 normally held in /usr/ccs/bin. This can be done by one of:
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
376
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
377 - building gcc with these configure flags:
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
378 configure --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
379
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
380 - adding -B/usr/ccs/bin/ to CFLAGS used to configure XEmacs
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
381 (Note: The trailing '/' there is significant.)
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
382
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
383 - uninstalling GNU ld.
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
384
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
385 The Solaris2 FAQ claims:
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
386
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
387 When you install gcc, don't make the mistake of installing
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
388 GNU binutils or GNU libc, they are not as capable as their
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
389 counterparts you get with Solaris 2.x.
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
390
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
391 *** Link failure when using acc on a Sun.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
392
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
393 To use acc, you need additional options just before the libraries, such as
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
394
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
395 /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
396
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
397 and you need to add -lansi just before -lc.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
398
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
399 The precise file names depend on the compiler version, so we
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
400 cannot easily arrange to supply them.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
401
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
402 *** Problems finding X11 libraries on Solaris with Openwindows
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
403
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
404 Some users have reported problems in this area. The reported solution
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
405 is to define the environment variable OPENWINHOME, even if you must set
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
406 it to `/usr/openwin'.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
407
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
408 *** Sed problems on Solaris 2.5
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
409
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
410 There have been reports of Sun sed truncating very lines in the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
411 Makefile during configuration. The workaround is to use GNU sed or,
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
412 even better, think of a better way to generate Makefile, and send us a
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
413 patch. :-)
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
414
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
415 *** On Solaris 2 I get undefined symbols from libcurses.a.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
416
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
417 You probably have /usr/ucblib/ on your LD_LIBRARY_PATH. Do the link with
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
418 LD_LIBRARY_PATH unset. Generally, avoid using any ucb* stuff when
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
419 building XEmacs.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
420
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
421 *** On Solaris 2 I cannot make alloc.o, glyphs.o or process.o.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
422
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
423 The SparcWorks C compiler may have difficulty building those modules
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
424 with optimization level -xO4. Try using only "-fast" optimization
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
425 for just those modules. (Or use gcc).
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
426
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
427 *** Solaris 2.3 /bin/sh coredumps during configuration.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
428
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
429 This only occurs if you have LANG != C. This is a known bug with
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
430 /bin/sh fixed by installing Patch-ID# 101613-01. Or, you can use
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
431 bash, as a workaround.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
432
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
433 *** On SunOS, you get linker errors
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
434 ld: Undefined symbol
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
435 _get_wmShellWidgetClass
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
436 _get_applicationShellWidgetClass
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
437
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
438 The fix to this is to install patch 100573 for OpenWindows 3.0
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
439 or link libXmu statically.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
440
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
441 *** On Sunos 4, you get the error ld: Undefined symbol __lib_version.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
442
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
443 This is the result of using cc or gcc with the shared library meant
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
444 for acc (the Sunpro compiler). Check your LD_LIBRARY_PATH and delete
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
445 /usr/lang/SC2.0.1 or some similar directory.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
446
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
447 *** Undefined symbols when linking on Sunos 4.1.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
448
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
449 If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
450 _iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
451 -lXaw in the command that links temacs.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
452
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
453 This problem seems to arise only when the international language
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
454 extensions to X11R5 are installed.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
455
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
456 *** On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
457
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
458 /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
459
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
460 The problem is in the Sun shared C library, not in GNU ld.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
461
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
462 The solution is to install Patch-ID# 100267-03 from Sun.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
463
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
464 *** SunOS 4.1.2: undefined symbol _get_wmShellWidgetClass
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
465
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
466 Apparently the version of libXmu.so.a that Sun ships is hosed: it's missing
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
467 some stuff that is in libXmu.a (the static version). Sun has a patch for
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
468 this, but a workaround is to use the static version of libXmu, by changing
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
469 the link command from "-lXmu" to "-Bstatic -lXmu -Bdynamic". If you have
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
470 OpenWindows 3.0, ask Sun for these patches:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
471 100512-02 4.1.x OpenWindows 3.0 libXt Jumbo patch
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
472 100573-03 4.1.x OpenWindows 3.0 undefined symbols with shared libXmu
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
473
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
474 *** Random other SunOS 4.1.[12] link errors.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
475
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
476 The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
477 broken. Use the ones in /usr/openwin/{include,lib} instead.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
478
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
479 ** Linux
1318
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
480
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
481 See also Intel Architecture General, above.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
482
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
483 *** egcs-1.1 on Alpha Linux
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
484
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
485 There have been reports of egcs-1.1 not compiling XEmacs correctly on
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
486 Alpha Linux. There have also been reports that egcs-1.0.3a is O.K.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
487
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
488 *** Under Linux, you get "too many arguments to function `getpgrp'".
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
489
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
490 You have probably installed LessTiff under `/usr/local' and `libXm.so'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
491 could not be found when linking `getpgrp()' test program, making XEmacs
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
492 think that `getpgrp()' takes an argument. Try adding `/usr/local/lib'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
493 in `/etc/ld.so.conf' and run `ldconfig'. Then run XEmacs's `configure'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
494 again. As with all problems of this type, reading the config.log file
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
495 generated from configure and seeing the log of how the test failed can
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
496 prove enlightening.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
497
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
498 *** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
499
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
500 This error message has been observed with lesstif-0.75a. It does not
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
501 appear to cause any harm.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
502
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
503 *** xemacs: can't resolve symbol '__malloc_hook'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
504
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
505 This is a Linux problem where you've compiled the XEmacs binary on a libc
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
506 5.4 with version higher than 5.4.19 and attempted to run the binary against
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
507 an earlier version. The solution is to upgrade your old library.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
508
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
509 ** IRIX
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
510
1098
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
511 *** More coredumping in Irix (6.5 known to be vulnerable)
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
512
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
513 No fix is known yet. Here's the best information we have:
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
514
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
515 Valdis Kletnieks <Valdis.Kletnieks@vt.edu> writes:
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
516
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
517 Were xemacs and [any 3rd party, locally-compiled] libraries [you use]
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
518 all compiled with the same ABI ( -o32, -n32, -64) and
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
519 mips2/mips3/mips4 flags, and are they appropriate for the machine in
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
520 question? I know the IP30 implies an Octane, so it should be an R10K
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
521 chipset and above such nonsense, but I've seen the most astoundingly
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
522 bizzare crashes when somebody managed to compile with -mips4 and get
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
523 it to run on an R4400 or R5K system. ;)
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
524
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
525 Also, since you're using gcc, try re-running fixincludes and *then*
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
526 rebuilding xemacs and [any] libraries - mismatched headers can do that
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
527 sort of thing to you with little or no clue what's wrong (often you
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
528 get screwed when one routine does an malloc(sizeof(foo_struct)) and
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
529 passes the result to something that things foo_struct is a bit bigger,
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
530 trashing memory....
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
531
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
532 Here's typical crash backtrace. With --pdump, this occurs usually at
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
533 startup under X windows and xemacs -nw at least starts, while without
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
534 --pdump a similar crash is observed during build.
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
535
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
536 #0 0x0fa460b8 in kill () at regcomp.c:637
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
537 637 regcomp.c: No such file or directory.
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
538 in regcomp.c
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
539 (gdb) where
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
540 #0 0x0fa460b8 in kill () at regcomp.c:637
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
541 #1 0x10087f34 in fatal_error_signal ()
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
542 (gdb) quit
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
543
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
544 This is confusing because there is no such file in the XEmacs
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
545 distribution. This is seen on (at least) the following configurations:
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
546
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
547 uname -a: IRIX64 oct202 6.5 01091821 IP30
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
548 XEmacs 21.4.9 "Informed Management" configured for `mips-sgi-irix6.5'.
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
549 XEmacs 21.5-b9 "brussels sprouts" configured for `mips-sgi-irix6.5'.
25f567f6ab2a [xemacs-hg @ 2002-11-11 16:13:28 by stephent]
stephent
parents: 1058
diff changeset
550
452
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
551 *** On Irix 6.5, the MIPSpro compiler gets an internal compiler error
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
552
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
553 The MIPSpro Compiler (at least version 7.2.1) can't seem to handle the
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
554 union type properly, and fails to compile src/glyphs.c. To avoid this
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
555 problem, always build ---use-union-type=no (but that's the default, so
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
556 you should only see this problem if you're an XEmacs maintainer).
3d3049ae1304 Import from CVS: tag r21-2-41
cvs
parents: 450
diff changeset
557
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
558 *** Linking with -rpath on IRIX.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
559
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
560 Darrell Kindred <dkindred@cmu.edu> writes:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
561 There are a couple of problems [with use of -rpath with Irix ld], though:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
562
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
563 1. The ld in IRIX 5.3 ignores all but the last -rpath
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
564 spec, so the patched configure spits out a warning
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
565 if --x-libraries or --site-runtime-libraries are
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
566 specified under irix 5.x, and it only adds -rpath
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
567 entries for the --site-runtime-libraries. This bug was
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
568 fixed sometime between 5.3 and 6.2.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
569
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
570 2. IRIX gcc 2.7.2 doesn't accept -rpath directly, so
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
571 it would have to be prefixed by -Xlinker or "-Wl,".
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
572 This would be fine, except that configure compiles with
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
573 ${CC-cc} $CFLAGS $LDFLAGS ...
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
574 rather than quoting $LDFLAGS with prefix-args, like
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
575 src/Makefile does. So if you specify --x-libraries
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
576 or --site-runtime-libraries, you must use --use-gcc=no,
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
577 or configure will fail.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
578
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
579 *** On Irix 6.3, the SGI ld quits with segmentation fault when linking temacs
207
e45d5e7c476e Import from CVS: tag r20-4b2
cvs
parents: 203
diff changeset
580
e45d5e7c476e Import from CVS: tag r20-4b2
cvs
parents: 203
diff changeset
581 This occurs if you use the SGI linker version 7.1. Installing the
e45d5e7c476e Import from CVS: tag r20-4b2
cvs
parents: 203
diff changeset
582 patch SG0001872 fixes this problem.
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
583
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
584 *** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
585
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
586 A compiler bug inserts spaces into the string "unexelfsgi . o"
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
587 in src/Makefile. Edit src/Makefile, after configure is run,
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
588 find that string, and take out the spaces.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
589
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
590 Compiler fixes in Irix 6.0.1 should eliminate this problem.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
591
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
592 *** On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
593
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
594 The file cmplrs/stsupport.h was included in the wrong file set in the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
595 Irix 5.2 distribution. You can find it in the optional fileset
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
596 compiler_dev, or copy it from some other Irix 5.2 system. A kludgy
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
597 workaround is to change unexelfsgi.c to include sym.h instead of
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
598 syms.h.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
599
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
600 *** Coredumping in Irix 6.2
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
601
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
602 Pete Forman <gsez020@compo.bedford.waii.com> writes:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
603 A problem noted by myself and others (I've lost the references) was
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
604 that XEmacs coredumped when the cut or copy toolbar buttons were
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
605 pressed. This has been fixed by loading the SGI patchset (Feb 98)
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
606 without having to recompile XEmacs.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
607
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
608 My versions are XEmacs 20.3 (problem first noted in 19.15) and IRIX
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
609 6.2, compiled using -n32. I'd guess that the relevant individual
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
610 patch was "SG0002580: multiple fixes for X libraries". SGI recommends
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
611 that the complete patch set be installed rather than parts of it.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
612
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
613 ** Digital UNIX/OSF/VMS
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
614 *** On Digital UNIX, the DEC C compiler might have a problem compiling
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
615 some files.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
616
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
617 In particular, src/extents.c and src/faces.c might cause the DEC C
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
618 compiler to abort. When this happens: cd src, compile the files by
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
619 hand, cd .., and redo the "make" command. When recompiling the files by
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
620 hand, use the old C compiler for the following versions of Digital UNIX:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
621 - V3.n: Remove "-migrate" from the compile command.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
622 - V4.n: Add "-oldc" to the compile command.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
623
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
624 A related compiler bug has been fixed by the DEC compiler team. The
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
625 new versions of the compiler should run fine.
126
1370575f1259 Import from CVS: tag xemacs-20-1p1
cvs
parents: 124
diff changeset
626
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
627 *** Under some versions of OSF XEmacs runs fine if built without
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
628 optimization but will crash randomly if built with optimization.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
629
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
630 Using 'cc -g' is not sufficient to eliminate all optimization. Try
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
631 'cc -g -O0' instead.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
632
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
633 *** Compilation errors on VMS.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
634
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
635 Sorry, XEmacs does not work under VMS. You might consider working on
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
636 the port if you really want to have XEmacs work under VMS.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
637
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
638 ** HP-UX
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
639 *** On HPUX, the HP C compiler might have a problem compiling some files
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
640 with optimization.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
641
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
642 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
643
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
644 Had to drop once again to level 2 optimization, at least to
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
645 compile lstream.c. Otherwise, I get a "variable is void: \if"
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
646 problem while dumping (this is a problem I already reported
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
647 with vanilla hpux 10.01 and 9.07, which went away after
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
648 applying patches for the C compiler). Trouble is I still
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
649 haven't found the same patch for hpux 10.10, and I don't
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
650 remember the patch numbers. I think potential XEmacs builders
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
651 on HP should be warned about this.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
652
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
653 *** I don't have `xmkmf' and `imake' on my HP.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
654
304
c6de09ad3017 Import from CVS: tag r21-0b50
cvs
parents: 284
diff changeset
655 You can get these standard X tools by anonymous FTP to
c6de09ad3017 Import from CVS: tag r21-0b50
cvs
parents: 284
diff changeset
656 hpcvaaz.cv.hp.com. Essentially all X programs need these.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
657
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
658 *** On HP-UX, problems with make
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
659
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
660 Marcus Thiessel <marcus@xemacs.org>
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
661
304
c6de09ad3017 Import from CVS: tag r21-0b50
cvs
parents: 284
diff changeset
662 Some releases of XEmacs (e.g. 20.4) require GNU make to build
c6de09ad3017 Import from CVS: tag r21-0b50
cvs
parents: 284
diff changeset
663 successfully. You don't need GNU make when building 21.x.
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
664
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
665 *** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
666
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
667 Marcus Thiessel <marcus@xemacs.org>
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
668
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
669 This might be a sed problem. For your own safety make sure to use
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
670 GNU sed while dumping XEmacs.
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
671
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
672
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
673 ** SCO OpenServer
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
674 *** Native cc on SCO OpenServer 5 is now OK. Icc may still throw you
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
675 a curve. Here is what Robert Lipe <robertl@arnet.com> says:
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
676
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
677 Unlike XEmacs 19.13, building with the native cc on SCO OpenServer 5
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
678 now produces a functional binary. I will typically build this
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
679 configuration for COFF with:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
680
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
681 /path_to_xemacs_source/configure --with-gcc=no \
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
682 --site-includes=/usr/local/include --site-libraries=/usr/local/lib \
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
683 --with-xpm --with-xface --with-sound=nas
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
684
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
685 This version now supports ELF builds. I highly recommend this to
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
686 reduce the in-core footprint of XEmacs. This is now how I compile
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
687 all my test releases. Build it like this:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
688
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
689 /path_to_XEmacs_source/configure --with-gcc=no \
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
690 --site-includes=/usr/local/include --site-libraries=/usr/local/lib \
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
691 --with-xpm --with-xface --with-sound=nas --dynamic
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
692
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
693 The compiler known as icc [ supplied with the OpenServer 5 Development
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
694 System ] generates a working binary, but it takes forever to generate
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
695 XEmacs. ICC also whines more about the code than /bin/cc does. I do
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
696 believe all its whining is legitimate, however. Note that you do
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
697 have to 'cd src ; make LD=icc' to avoid linker errors.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
698
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
699 The way I handle the build procedure is:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
700
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
701 /path_to_XEmacs_source/configure --with-gcc=no \
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
702 --site-includes=/usr/local/include --site-libraries=/usr/local/lib \
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
703 --with-xpm --with-xface --with-sound=nas --dynamic --compiler="icc"
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
704
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
705 NOTE I have the xpm, xface, and audio libraries and includes in
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
706 /usr/local/lib, /usr/local/include. If you don't have these,
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
707 don't include the "--with-*" arguments in any of my examples.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
708
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
709 In previous versions of XEmacs, you had to override the defaults while
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
710 compiling font-lock.o and extents.o when building with icc. This seems
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
711 to no longer be true, but I'm including this old information in case it
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
712 resurfaces. The process I used was:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
713
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
714 make -k
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
715 [ procure pizza, beer, repeat ]
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
716 cd src
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
717 make CC="icc -W0,-mP1COPT_max_tree_size=3000" font-lock.o extents.o
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
718 make LD=icc
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
719
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
720 If you want sound support, get the tls566 supplement from
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
721 ftp.sco.com:/TLS or any of its mirrors. It works just groovy
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
722 with XEmacs.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
723
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
724 The M-x manual-entry is known not to work. If you know Lisp and would
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
725 like help in making it work, e-mail me at <robertl@dgii.com>.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
726 (UNCHECKED for 19.15 -- it might work).
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
727
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
728 In earlier releases, gnuserv/gnuclient/gnudoit would open a frame
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
729 just fine, but the client would lock up and the server would
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
730 terminate when you used C-x # to close the frame. This is now
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
731 fixed in XEmacs.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
732
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
733 In etc/ there are two files of note. emacskeys.sco and emacsstrs.sco.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
734 The comments at the top of emacskeys.sco describe its function, and
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
735 the emacstrs.sco is a suitable candidate for /usr/lib/keyboard/strings
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
736 to take advantage of the keyboard map in emacskeys.sco.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
737
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
738 Note: Much of the above entry is probably not valid for XEmacs 21.0
207
e45d5e7c476e Import from CVS: tag r20-4b2
cvs
parents: 203
diff changeset
739 and later.
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
740
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
741 ** Cygwin
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
742
1318
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
743 See also Intel Architecture General, above.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
744
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
745 *** Signal 11 when building or running a dumped XEmacs.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
746
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
747 This appears to happen when using the traditional dumping mechanism and
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
748 the system malloc. Andy Piper writes:
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
749
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
750 Traditional dumping on cygwin relies on using gmalloc (there are specific
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
751 hacks in our version of gmalloc to support this), I suspect using sysmalloc
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
752 is the problem.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
753
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
754 Try configuring with pdump or without system malloc.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
755
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
756 *** In general use etc/check_cygwin_setup.sh to trap environment problems.
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
757
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
758 The script etc/check_cygwin_setup.sh will attempt to detect whether
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
759 you have a suitable environment for building. This script may not work
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
760 correctly if you are using ash instead of bash (see below).
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
761
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
762 *** Syntax errors running configure scripts, make failing with exit code 127
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
763 in inexplicable situations, etc.
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
764
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
765 This may be because you are using the default cygwin shell. The
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
766 default cygwin shell (/bin/sh.exe) is ash which appears to work in
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
767 most circumstances but has some weird failure modes. You need to
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
768 replace the symlink with bash.exe.
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
769
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
770 *** Lots of compile errors, esp. on lines containing macro definitions
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
771 terminated by backslashes.
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
772
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
773 Your partition holding the source files is mounted binary. It needs
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
774 to be mounted text. (This will not screw up any binary files because
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
775 the Cygwin utilities specify explicitly whether they want binary or
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
776 text mode when working with source vs. binary files, which overrides
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
777 the mount type.) To fix this, you just need to run the appropriate
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
778 mount command once -- afterwards, the settings are remembered in the
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
779 registry.
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
780
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
781 *** Errors from make like /c:not found.
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
782
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
783 Make sure you set the environment variable MAKE_MODE to UNIX in your
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
784 .bashrc, Control Panel (Windows 2000/NT), or AUTOEXEC.BAT (Windows
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
785 98/95).
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
786
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
787 *** The info files will not build.
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
788
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
789 makeinfo that ships with Cygwin (all versions) doesn't work. You need to
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
790 obtain makeinfo from somewhere or build it yourself.
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
791
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
792 *** XEmacs hangs while attempting to rebuild the .elc files.
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
793
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
794 Check to make sure you're not configuring with rel-alloc. The relocating
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
795 allocator does not currently work under Cygwin due to bugs in Cygwin's
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
796 mmap().
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 386
diff changeset
797
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
798 *** Trying to build with X, but X11 not detected.
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
799
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
800 This is usually because xmkmf is not in your path or because you are
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
801 using the default cygwin shell. (See above.)
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents: 327
diff changeset
802
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents: 327
diff changeset
803
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
804 * Problems with running XEmacs
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
805 ==============================
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
806 ** General
1042
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
807 *** At startup I get a warning on stderr about missing charsets:
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
808
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
809 Warning: Missing charsets in String to FontSet conversion
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
810
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
811 You need to specify appropriate charsets for your locale (usually the
1056
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
812 value of the LANG environment variable) in .Xresources. See
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
813 etc/Emacs.ad for the relevant resources (mostly menubar fonts and
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
814 fontsets). Do not edit this file, it's purely informative.
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
815
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
816 If you have no satisfactory fonts for iso-8859-1, XEmacs will crash.
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
817
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
818 It looks like XFree86 4.x (the usual server on Linux and *BSD) has
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
819 some braindamage where .UTF-8 locales will always generate this
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
820 message, because the XFree86 (font)server doesn't know that UTF-8 will
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
821 use the ISO10646-1 font registry (or a Cmap or something).
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
822
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
823 If you are not using a .UTF-8 locale and see this warning for a
c2acbc874bf1 [xemacs-hg @ 2002-10-17 14:12:14 by stephent]
stephent
parents: 1042
diff changeset
824 character set not listed in the default in Emacs.ad, please let
1042
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
825 xemacs-beta@xemacs.org know about it, so we can add fonts to the
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
826 appropriate fontsets and stifle this warning. (Unfortunately it's
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
827 buried in Xlib, so we can't easily get rid of it otherwise.)
aea3ce44b888 [xemacs-hg @ 2002-10-08 06:06:48 by youngs]
youngs
parents: 1036
diff changeset
828
892
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 845
diff changeset
829 *** Starting with 21.4.x, killing text is absurdly slow.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 845
diff changeset
830
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 845
diff changeset
831 See FAQ Q3.10.6. Should be available on the web near
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 845
diff changeset
832 http://www.xemacs.org/faq/xemacs-faq.html#SEC160.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 845
diff changeset
833
835
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
834 *** Whenever I try to retrieve a remote file, I have problems.
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
835
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
836 A typical error: FTP Error: USER request failed; 500 AUTH not understood.
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
837 Thanks to giacomo boffi <giacomo.boffi@polimi.it> on comp.emacs.xemacs:
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
838
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
839 tell your ftp client to not attempt AUTH authentication (or do not
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
840 use FTP servers that don't understand AUTH)
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
841
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
842 and notes that you need to add an element (often "-u") to
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
843 `efs-ftp-program-args'. Use M-x customize-variable, and verify the
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
844 needed flag with `man ftp' or other local documentation.
e7ad6587a7a0 [xemacs-hg @ 2002-05-11 09:32:08 by adrian]
adrian
parents: 724
diff changeset
845
464
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
846 *** gnuserv is running, some clients can connect, but others cannot.
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
847
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
848 The code in gnuslib.c respects the value of TMPDIR. If the server and
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
849 the client have different values in their environment, you lose.
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
850 One program known to set TMPDIR and manifest this problem is exmh.
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
851 You can defeat the use of TMPDIR by unsetting USE_TMPDIR at the top of
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
852 gnuserv.h at build time.
5aa1854ad537 Import from CVS: tag r21-2-47
cvs
parents: 454
diff changeset
853
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
854 *** C-z just refreshes the screen instead of suspending Emacs.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
855
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
856 You are probably using a shell that doesn't support job control, even
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
857 though the system itself is capable of it. Try using a different
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
858 shell.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
859
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
860 *** You type Control-H (Backspace) expecting to delete characters.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
861
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
862 Emacs has traditionally used Control-H for help; unfortunately this
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
863 interferes with its use as Backspace on TTY's. As of XEmacs 21,
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
864 XEmacs looks at the "erase" setting of TTY structures and maps C-h to
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
865 backspace when erase is set to C-h. This is sort of a special hack,
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
866 but it makes it possible for you to use the standard:
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
867
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
868 stty erase ^H
355
182f72e8cd0d Import from CVS: tag r21-1-7
cvs
parents: 343
diff changeset
869
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
870 to get your backspace key to erase characters. The erase setting is
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
871 recorded in the Lisp variable `tty-erase-char', which you can use to
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
872 tune the settings in your .emacs.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
873
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
874 A major drawback of this is that when C-h becomes backspace, it no
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
875 longer invokes help. In that case, you need to use f1 for help, or
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
876 bind another key. An example of the latter is the following code,
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
877 which moves help to Meta-? (ESC ?):
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
878
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
879 (global-set-key "\M-?" 'help-command)
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
880
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
881 *** Mail agents (VM, Gnus, rmail) cannot get new mail
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
882
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
883 rmail and VM get new mail from /usr/spool/mail/$USER using a program
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
884 called `movemail'. This program interlocks with /bin/mail using the
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
885 protocol defined by /bin/mail.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
886
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
887 There are two different protocols in general use. One of them uses
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
888 the `flock' system call. The other involves creating a lock file;
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
889 `movemail' must be able to write in /usr/spool/mail in order to do
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
890 this. You control which one is used by defining, or not defining, the
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
891 macro MAIL_USE_FLOCK in config.h or the m- or s- file it includes. IF
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
892 YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR SYSTEM,
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
893 YOU CAN LOSE MAIL!
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
894
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
895 If your system uses the lock file protocol, and fascist restrictions
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
896 prevent ordinary users from writing the lock files in /usr/spool/mail,
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
897 you may need to make `movemail' setgid to a suitable group such as
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
898 `mail'. To do this, use the following commands (as root) after doing
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
899 the make install.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
900
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
901 chgrp mail movemail
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
902 chmod 2755 movemail
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
903
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
904 Installation normally copies movemail from the build directory to an
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
905 installation directory which is usually under /usr/local/lib. The
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
906 installed copy of movemail is usually in the directory
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
907 /usr/local/lib/emacs/VERSION/TARGET. You must change the group and
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
908 mode of the installed copy; changing the group and mode of the build
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
909 directory copy is ineffective.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
910
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
911 *** VM appears to hang in large folders.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
912
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
913 This is normal (trust us) when upgrading to VM-6.22 from earlier
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
914 versions. Let VM finish what it is doing and all will be well.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
915
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
916 *** Changes made to .el files do not take effect.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
918 You may have forgotten to recompile them into .elc files. Then the
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
919 old .elc files will be loaded, and your changes will not be seen. To
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
920 fix this, do `M-x byte-recompile-directory' and specify the directory
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
921 that contains the Lisp files.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
923 Note that you will get a warning when loading a .elc file that is
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
924 older than the corresponding .el file.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
926 *** Things which should be bold or italic (such as the initial
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
927 copyright notice) are not.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
929 The fonts of the "bold" and "italic" faces are generated from the font
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
930 of the "default" face; in this way, your bold and italic fonts will
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
931 have the appropriate size and family. However, emacs can only be
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
932 clever in this way if you have specified the default font using the
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
933 XLFD (X Logical Font Description) format, which looks like
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 *-courier-medium-r-*-*-*-120-*-*-*-*-*-*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
937 if you use any of the other, less strict font name formats, some of
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
938 which look like:
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
939
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 lucidasanstypewriter-12
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 and fixed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 and 9x13
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944 then emacs won't be able to guess the names of the "bold" and "italic"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 versions. All X fonts can be referred to via XLFD-style names, so you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 should use those forms. See the man pages for X(1), xlsfonts(1), and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 xfontsel(1).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
949 *** The dumped Emacs crashes when run, trying to write pure data.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951 Two causes have been seen for such problems.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 1) On a system where getpagesize is not a system call, it is defined
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954 as a macro. If the definition (in both unexec.c and malloc.c) is wrong,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 it can cause problems like this. You might be able to find the correct
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956 value in the man page for a.out (5).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 2) Some systems allocate variables declared static among the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 initialized variables. Emacs makes all initialized variables in most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960 of its files pure after dumping, but the variables declared static and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 not initialized are not supposed to be pure. On these systems you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962 may need to add "#define static" to the m- or the s- file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
964 *** Reading and writing files is very very slow.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966 Try evaluating the form (setq lock-directory nil) and see if that helps.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967 There is a problem with file-locking on some systems (possibly related
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
968 to NFS) that I don't understand. Please send mail to the address
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969 xemacs@xemacs.org if you figure this one out.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
971 *** When emacs starts up, I get lots of warnings about unknown keysyms.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
972
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
973 If you are running the prebuilt binaries, the Motif library expects to find
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
974 certain thing in the XKeysymDB file. This file is normally in /usr/lib/X11/
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
975 or in /usr/openwin/lib/. If you keep yours in a different place, set the
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
976 environment variable $XKEYSYMDB to point to it before starting emacs. If
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
977 you still have the problem after doing that, perhaps your version of X is
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
978 too old. There is a copy of the MIT X11R5 XKeysymDB file in the emacs `etc'
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
979 directory. Try using that one.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
980
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
981 *** My X resources used to work, and now some of them are being ignored.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
983 Check the resources in .../etc/Emacs.ad (which is the same as the file
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
984 sample.Xdefaults). Perhaps some of the default resources built in to
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
985 emacs are now overriding your existing resources. Copy and edit the
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
986 resources in Emacs.ad as necessary.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
987
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
988 *** I have focus problems when I use `M-o' to switch to another screen
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
989 without using the mouse.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
990
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
991 The focus issues with a program like XEmacs, which has multiple
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
992 homogeneous top-level windows, are very complicated, and as a result,
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
993 most window managers don't implement them correctly.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
995 The R4/R5 version of twm (and all of its descendants) had buggy focus
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
996 handling. Sufficiently recent versions of tvtwm have been fixed. In
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
997 addition, if you're using twm, make sure you have not specified
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
998 "NoTitleFocus" in your .tvtwmrc file. The very nature of this option
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
999 makes twm do some illegal focus tricks, even with the patch.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1001 It is known that olwm and olvwm are buggy, and in different ways. If
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1002 you're using click-to-type mode, try using point-to-type, or vice
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1003 versa.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1005 In older versions of NCDwm, one could not even type at XEmacs windows.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1006 This has been fixed in newer versions (2.4.3, and possibly earlier).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1008 (Many people suggest that XEmacs should warp the mouse when focusing
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1009 on another screen in point-to-type mode. This is not ICCCM-compliant
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1010 behavior. Implementing such policy is the responsibility of the
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1011 window manager itself, it is not legal for a client to do this.)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1013 *** Emacs spontaneously displays "I-search: " at the bottom of the screen.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 used. C-s/C-q flow control is bad for Emacs editors because it takes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 away C-s and C-q as user commands. Since editors do not output long
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018 streams of text without user commands, there is no need for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019 user-issuable "stop output" command in an editor; therefore, a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 properly designed flow control mechanism would transmit all possible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 input characters without interference. Designing such a mechanism is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 easy, for a person with at least half a brain.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 There are three possible reasons why flow control could be taking place:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 1) Terminal has not been told to disable flow control
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 2) Insufficient padding for the terminal in use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 3) Some sort of terminal concentrator or line switch is responsible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 First of all, many terminals have a set-up mode which controls whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 they generate XON/XOFF flow control characters. This must be set to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032 "no XON/XOFF" in order for Emacs to work. Sometimes there is an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 escape sequence that the computer can send to turn flow control off
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 and on. If so, perhaps the termcap `ti' string should turn flow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 control off, and the `te' string should turn it on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 Once the terminal has been told "no flow control", you may find it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038 needs more padding. The amount of padding Emacs sends is controlled
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 by the termcap entry for the terminal in use, and by the output baud
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 rate as known by the kernel. The shell command `stty' will print
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 your output baud rate; `stty' with suitable arguments will set it if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 it is wrong. Setting to a higher speed causes increased padding. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 the results are wrong for the correct speed, there is probably a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044 problem in the termcap entry. You must speak to a local Unix wizard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 to fix this. Perhaps you are just using the wrong terminal type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 For terminals that lack a "no flow control" mode, sometimes just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 giving lots of padding will prevent actual generation of flow control
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049 codes. You might as well try it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051 If you are really unlucky, your terminal is connected to the computer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 through a concentrator which sends XON/XOFF flow control to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 computer, or it insists on sending flow control itself no matter how
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054 much padding you give it. Unless you can figure out how to turn flow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 control off on this concentrator (again, refer to your local wizard),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 you are screwed! You should have the terminal or concentrator
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 replaced with a properly designed one. In the mean time, some drastic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 measures can make Emacs semi-work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 You can make Emacs ignore C-s and C-q and let the operating system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 handle them. To do this on a per-session basis, just type M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062 enable-flow-control RET. You will see a message that C-\ and C-^ are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 now translated to C-s and C-q. (Use the same command M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 enable-flow-control to turn *off* this special mode. It toggles flow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065 control handling.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 If C-\ and C-^ are inconvenient for you (for example, if one of them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 is the escape character of your terminal concentrator), you can choose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 other characters by setting the variables flow-control-c-s-replacement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070 and flow-control-c-q-replacement. But choose carefully, since all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 other control characters are already used by emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 IMPORTANT: if you type C-s by accident while flow control is enabled,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 Emacs output will freeze, and you will have to remember to type C-q in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 order to continue.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 If you work in an environment where a majority of terminals of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078 certain type are flow control hobbled, you can use the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 `enable-flow-control-on' to turn on this flow control avoidance scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 automatically. Here is an example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084 If this isn't quite correct (e.g. you have a mixture of flow-control hobbled
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 and good vt200 terminals), you can still run enable-flow-control
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086 manually.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 I have no intention of ever redesigning the Emacs command set for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089 assumption that terminals use C-s/C-q flow control. XON/XOFF flow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 control technique is a bad design, and terminals that need it are bad
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091 merchandise and should not be purchased. Now that X is becoming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092 widespread, XON/XOFF seems to be on the way out. If you can get some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093 use out of GNU Emacs on inferior terminals, more power to you, but I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094 will not make Emacs worse for properly designed systems for the sake
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095 of inferior systems.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1097 *** Control-S and Control-Q commands are ignored completely.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 For some reason, your system is using brain-damaged C-s/C-q flow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 control despite Emacs's attempts to turn it off. Perhaps your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101 terminal is connected to the computer through a concentrator
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 that wants to use flow control.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 You should first try to tell the concentrator not to use flow control.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 If you succeed in this, try making the terminal work without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106 flow control, as described in the preceding section.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 If that line of approach is not successful, map some other characters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109 into C-s and C-q using keyboard-translate-table. The example above
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110 shows how to do this with C-^ and C-\.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1112 *** Control-S and Control-Q commands are ignored completely on a net
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1113 connection.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 Some versions of rlogin (and possibly telnet) do not pass flow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116 control characters to the remote system to which they connect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117 On such systems, emacs on the remote system cannot disable flow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 control on the local system.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 One way to cure this is to disable flow control on the local host
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 (the one running rlogin, not the one running rlogind) using the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122 stty command, before starting the rlogin process. On many systems,
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1123 `stty start u stop u' will do this.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 Some versions of tcsh will prevent even this from working. One way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126 around this is to start another shell before starting rlogin, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 issue the stty command to disable flow control from that shell.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129 If none of these methods work, the best solution is to type
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1130 `M-x enable-flow-control' at the beginning of your emacs session, or
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 if you expect the problem to continue, add a line such as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 following to your .emacs (on the host running rlogind):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134 (enable-flow-control-on "vt200" "vt300" "vt101" "vt131")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136 See the entry about spontaneous display of I-search (above) for more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137 info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1139 *** TTY redisplay is slow.
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1140
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1141 XEmacs has fairly new TTY redisplay support (beginning from 19.12),
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1142 which doesn't include some basic TTY optimizations -- like using
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1143 scrolling regions to move around blocks of text. This is why
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
1144 redisplay on the traditional terminals, or over slow lines can be very
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1145 slow.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1146
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1147 If you are interested in fixing this, please let us know at
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1148 <xemacs@xemacs.org>.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1149
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1150 *** Screen is updated wrong, but only on one kind of terminal.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1152 This could mean that the termcap entry you are using for that terminal
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1153 is wrong, or it could mean that Emacs has a bug handing the
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1154 combination of features specified for that terminal.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1155
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156 The first step in tracking this down is to record what characters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157 Emacs is sending to the terminal. Execute the Lisp expression
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1158 (open-termscript "./emacs-script") to make Emacs write all terminal
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1159 output into the file ~/emacs-script as well; then do what makes the
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1160 screen update wrong, and look at the file and decode the characters
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1161 using the manual for the terminal. There are several possibilities:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163 1) The characters sent are correct, according to the terminal manual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 In this case, there is no obvious bug in Emacs, and most likely you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 need more padding, or possibly the terminal manual is wrong.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1168 2) The characters sent are incorrect, due to an obscure aspect of the
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1169 terminal behavior not described in an obvious way by termcap.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1171 This case is hard. It will be necessary to think of a way for Emacs
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1172 to distinguish between terminals with this kind of behavior and other
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1173 terminals that behave subtly differently but are classified the same
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1174 by termcap; or else find an algorithm for Emacs to use that avoids the
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1175 difference. Such changes must be tested on many kinds of terminals.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177 3) The termcap entry is wrong.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1179 See the file etc/TERMS for information on changes that are known to be
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1180 needed in commonly used termcap entries for certain terminals.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1182 4) The characters sent are incorrect, and clearly cannot be right for
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1183 any terminal with the termcap entry you were using.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
1185 This is unambiguously an Emacs bug, and can probably be fixed in
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1186 termcap.c, terminfo.c, tparam.c, cm.c, redisplay-tty.c,
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1187 redisplay-output.c, or redisplay.c.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1189 *** My buffers are full of \000 characters or otherwise corrupt.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1190
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1191 Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1192 without optimization. If that doesn't work, try recompiling with
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1193 SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1194
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1195 *** A position you specified in .Xdefaults is ignored, using twm.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1196
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1197 twm normally ignores "program-specified" positions.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1198 You can tell it to obey them with this command in your `.twmrc' file:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1199
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1200 UsePPosition "on" #allow clents to request a position
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1201
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1202 *** With M-x enable-flow-control, you need to type C-\ twice to do
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1203 incremental search--a single C-\ gets no response.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1204
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1205 This has been traced to communicating with your machine via kermit,
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1206 with C-\ as the kermit escape character. One solution is to use
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1207 another escape character in kermit. One user did
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1208
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1209 set escape-character 17
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1210
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1211 in his .kermrc file, to make C-q the kermit escape character.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1212
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1213 *** The Motif version of Emacs paints the screen a solid color.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1214
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1215 This has been observed to result from the following X resource:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1216
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1217 Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1218
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1219 That the resource has this effect indicates a bug in something, but we
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1220 do not yet know what. If it is an Emacs bug, we hope someone can
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1221 explain what the bug is so we can fix it. In the mean time, removing
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1222 the resource prevents the problem.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1223
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1224 *** After running emacs once, subsequent invocations crash.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1225
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1226 Some versions of SVR4 have a serious bug in the implementation of the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1227 mmap () system call in the kernel; this causes emacs to run correctly
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1228 the first time, and then crash when run a second time.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1229
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1230 Contact your vendor and ask for the mmap bug fix; in the mean time,
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1231 you may be able to work around the problem by adding a line to your
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1232 operating system description file (whose name is reported by the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1233 configure script) that reads:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1234 #define SYSTEM_MALLOC
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1235 This makes Emacs use memory less efficiently, but seems to work around
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1236 the kernel bug.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1237
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1238 *** Inability to send an Alt-modified key, when Emacs is communicating
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1239 directly with an X server.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1240
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1241 If you have tried to bind an Alt-modified key as a command, and it
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1242 does not work to type the command, the first thing you should check is
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1243 whether the key is getting through to Emacs. To do this, type C-h c
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1244 followed by the Alt-modified key. C-h c should say what kind of event
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1245 it read. If it says it read an Alt-modified key, then make sure you
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1246 have made the key binding correctly.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1247
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1248 If C-h c reports an event that doesn't have the Alt modifier, it may
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1249 be because your X server has no key for the Alt modifier. The X
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1250 server that comes from MIT does not set up the Alt modifier by
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1251 default.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1252
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1253 If your keyboard has keys named Alt, you can enable them as follows:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1254
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1255 xmodmap -e 'add mod2 = Alt_L'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1256 xmodmap -e 'add mod2 = Alt_R'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1257
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1258 If the keyboard has just one key named Alt, then only one of those
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1259 commands is needed. The modifier `mod2' is a reasonable choice if you
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1260 are using an unmodified MIT version of X. Otherwise, choose any
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1261 modifier bit not otherwise used.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1262
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1263 If your keyboard does not have keys named Alt, you can use some other
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1264 keys. Use the keysym command in xmodmap to turn a function key (or
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1265 some other 'spare' key) into Alt_L or into Alt_R, and then use the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1266 commands show above to make them modifier keys.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1267
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1268 Note that if you have Alt keys but no Meta keys, Emacs translates Alt
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1269 into Meta. This is because of the great importance of Meta in Emacs.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1270
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1271 *** In Shell mode, you get a ^M at the end of every line.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1272
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1273 This happens to people who use tcsh, because it is trying to be too
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1274 smart. It sees that the Shell uses terminal type `unknown' and turns
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1275 on the flag to output ^M at the end of each line. You can fix the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1276 problem by adding this to your .cshrc file:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1277
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1278 if ($?EMACS) then
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1279 if ($EMACS == "t") then
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
1280 unset edit
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1281 stty -icrnl -onlcr -echo susp ^Z
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1282 endif
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1283 endif
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1284
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1285 *** An error message such as `X protocol error: BadMatch (invalid
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1286 parameter attributes) on protocol request 93'.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1287
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1288 This comes from having an invalid X resource, such as
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1289 emacs*Cursor: black
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1290 (which is invalid because it specifies a color name for something
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1291 that isn't a color.)
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1292
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1293 The fix is to correct your X resources.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1294
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1295 *** Once you pull down a menu from the menubar, it won't go away.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1296
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1297 It has been claimed that this is caused by a bug in certain very old
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1298 (1990?) versions of the twm window manager. It doesn't happen with
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1299 recent vintages, or with other window managers.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1300
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1301 *** Emacs ignores the "help" key when running OLWM.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1302
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1303 OLWM grabs the help key, and retransmits it to the appropriate client
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1304 using XSendEvent. Allowing emacs to react to synthetic events is a
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1305 security hole, so this is turned off by default. You can enable it by
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1306 setting the variable x-allow-sendevents to t. You can also cause fix
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1307 this by telling OLWM to not grab the help key, with the null binding
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1308 "OpenWindows.KeyboardCommand.Help:".
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1309
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1310 *** Programs running under terminal emulator do not recognize `emacs'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1311 terminal type.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1312
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1313 The cause of this is a shell startup file that sets the TERMCAP
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1314 environment variable. The terminal emulator uses that variable to
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1315 provide the information on the special terminal type that Emacs
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1316 emulates.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1317
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1318 Rewrite your shell startup file so that it does not change TERMCAP
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1319 in such a case. You could use the following conditional which sets
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1320 it only if it is undefined.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1321
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1322 if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1323
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1324 Or you could set TERMCAP only when you set TERM--which should not
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1325 happen in a non-login shell.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1326
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1327 *** The popup menu appears at the bottom/right of my screen.
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1328
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1329 You probably have something like the following in your ~/.Xdefaults
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1330
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1331 Emacs.geometry: 81x56--9--1
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1332
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1333 Use the following instead
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1334
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1335 Emacs*EmacsFrame.geometry: 81x56--9--1
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1336
1222
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1337 *** When I try to use the PostgreSQL functions, I get a message about
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1338 undefined symbols.
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1339
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1340 The only known case in which this happens is if you are using gcc, you
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1341 configured with --error-checking=all and --with-modules, and you
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1342 compiled with no optimization. If you encounter this problem in any
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1343 other situation, please inform xemacs-beta@xemacs.org.
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1344
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1345 This problem stems from a gcc bug. With no optimization, functions
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1346 declared `extern inline' sometimes are not completely compiled away. An
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1347 undefined symbol with the function's name is put into the resulting
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1348 object file. In this case, when the postgresql module is loaded, the
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1349 linker is unable to resolve that symbol, so the module load fails. The
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1350 workaround is to recompile the module with optimization turned on. Any
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1351 optimization level, including -Os, appears to work.
0350fea81e65 [xemacs-hg @ 2003-01-18 04:48:18 by james]
james
parents: 1100
diff changeset
1352
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1353
1036
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1354 ** MacOS/X, Darwin
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1355 *** XEmacs crashes on MacOS within font-lock, or when dealing
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1356 with large compilation buffers, or in other regex applications.
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1357
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1358 The default stack size under MacOS/X is rather small (512k as opposed
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1359 to Solaris 8M), hosing the regexp code, which uses alloca()
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1360 extensively, overflowing the stack when complex regexps are used.
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1361 Workarounds:
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1362
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1363 1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1364 equivalent;
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1365
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1366 2) Recompile regex.c with REGEX_MALLOC defined.
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1367
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1368 ** AIX
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1369 *** Your Delete key sends a Backspace to the terminal, using an AIXterm.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371 The solution is to include in your .Xdefaults the lines:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1372
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1374 aixterm*ttyModes: erase ^?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1375
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376 This makes your Backspace key send DEL (ASCII 127).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1378 *** On AIX 4, some programs fail when run in a Shell buffer
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1379 with an error message like No terminfo entry for "unknown".
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1380
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1381 On AIX, many terminal type definitions are not installed by default.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1382 `unknown' is one of them. Install the "Special Generic Terminal
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1383 Definitions" to make them defined.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1384
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1385 *** On AIX, you get this message when running Emacs:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1386
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1387 Could not load program emacs
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1388 Symbol smtcheckinit in csh is undefined
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1389 Error was: Exec format error
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1390
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1391 or this one:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1392
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1393 Could not load program .emacs
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1394 Symbol _system_con in csh is undefined
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1395 Symbol _fp_trapsta in csh is undefined
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1396 Error was: Exec format error
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1397
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1398 These can happen when you try to run on AIX 3.2.5 a program that was
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1399 compiled with 3.2.4. The fix is to recompile.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1400
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1401 *** Trouble using ptys on AIX.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1402
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1403 People often install the pty devices on AIX incorrectly.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1404 Use `smit pty' to reinstall them properly.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1405
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1407 ** SunOS/Solaris
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1408 *** The Emacs window disappears when you type M-q.
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1409
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1410 Some versions of the Open Look window manager interpret M-q as a quit
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1411 command for whatever window you are typing at. If you want to use
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1412 Emacs with that window manager, you should try to configure the window
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1413 manager to use some other command. You can disable the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1414 shortcut keys entirely by adding this line to ~/.OWdefaults:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1415
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1416 OpenWindows.WindowMenuAccelerators: False
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1417
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1418 *** When Emacs tries to ring the bell, you get an error like
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1419
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1420 audio: sst_open: SETQSIZE" Invalid argument
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1421 audio: sst_close: SETREG MMR2, Invalid argument
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1422
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1423 you have probably compiled using an ANSI C compiler, but with non-ANSI
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1424 include files. In particular, on Suns, the file
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1425 /usr/include/sun/audioio.h uses the _IOW macro to define the constant
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1426 AUDIOSETQSIZE. _IOW in turn uses a K&R preprocessor feature that is
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1427 now explicitly forbidden in ANSI preprocessors, namely substitution
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1428 inside character constants. All ANSI C compilers must provide a
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1429 workaround for this problem. Lucid's C compiler is shipped with a new
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1430 set of system include files. If you are using GCC, there is a script
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1431 called fixincludes that creates new versions of some system include
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1432 files that use this obsolete feature.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1433
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1434 *** On Solaris 2.6, XEmacs dumps core when exiting.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1435
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1436 This happens if you're XEmacs is running on the same machine as the X
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1437 server, and the optimized memory transport has been turned on by
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1438 setting the environment variable XSUNTRANSPORT. The crash occurs
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1439 during the call to XCloseDisplay.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1440
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1441 If this describes your situation, you need to undefine the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1442 XSUNTRANSPORT environment variable.
126
1370575f1259 Import from CVS: tag xemacs-20-1p1
cvs
parents: 124
diff changeset
1443
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1444 *** On Solaris, C-x doesn't get through to Emacs when you use the console.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1445
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1446 This is a Solaris feature (at least on Intel x86 cpus). Type C-r
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1447 C-r C-t, to toggle whether C-x gets through to Emacs.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1448
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1449 *** On Solaris 2.4, Dired hangs and C-g does not work. Or Emacs hangs
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1450 forever waiting for termination of a subprocess that is a zombie.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1451
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1452 casper@fwi.uva.nl says the problem is in X11R6. Rebuild libX11.so
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1453 after changing the file xc/config/cf/sunLib.tmpl. Change the lines
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1454
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1455 #if ThreadedX
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1456 #define SharedX11Reqs -lthread
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1457 #endif
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1458
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1459 to:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1460
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1461 #if OSMinorVersion < 4
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1462 #if ThreadedX
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1463 #define SharedX11Reqs -lthread
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1464 #endif
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1465 #endif
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1466
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1467 Be sure also to edit x/config/cf/sun.cf so that OSMinorVersion is 4
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1468 (as it should be for Solaris 2.4). The file has three definitions for
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1469 OSMinorVersion: the first is for x86, the second for SPARC under
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1470 Solaris, and the third for SunOS 4. Make sure to update the
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1471 definition for your type of machine and system.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1472
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1473 Then do `make Everything' in the top directory of X11R6, to rebuild
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1474 the makefiles and rebuild X. The X built this way work only on
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1475 Solaris 2.4, not on 2.3.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1476
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1477 For multithreaded X to work it necessary to install patch
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1478 101925-02 to fix problems in header files [2.4]. You need
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1479 to reinstall gcc or re-run just-fixinc after installing that
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1480 patch.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1482 However, Frank Rust <frust@iti.cs.tu-bs.de> used a simpler solution:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1483 he changed
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1484 #define ThreadedX YES
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1485 to
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1486 #define ThreadedX NO
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1487 in sun.cf and did `make World' to rebuild X11R6. Removing all
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1488 `-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile and
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1489 typing 'make install' in that directory also seemed to work.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1490
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1491 *** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1492
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1493 This happens if you configure Emacs specifying just `sparc-sun-sunos4'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1494 on a system that is version 4.1.3. You must specify the precise
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1495 version number (or let configure figure out the configuration, which
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1496 it can do perfectly well for SunOS).
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1497
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1498 *** Mail is lost when sent to local aliases.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1500 Many emacs mail user agents (VM and rmail, for instance) use the
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1501 sendmail.el library. This library can arrange for mail to be
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1502 delivered by passing messages to the /usr/lib/sendmail (usually)
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1503 program . In doing so, it passes the '-t' flag to sendmail, which
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1504 means that the name of the recipient of the message is not on the
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1505 command line and, therefore, that sendmail must parse the message to
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1506 obtain the destination address.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1507
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1508 There is a bug in the SunOS4.1.1 and SunOS4.1.3 versions of sendmail.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1509 In short, when given the -t flag, the SunOS sendmail won't recognize
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1510 non-local (i.e. NIS) aliases. It has been reported that the Solaris
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1511 2.x versions of sendmail do not have this bug. For those using SunOS
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1512 4.1, the best fix is to install sendmail V8 or IDA sendmail (which
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1513 have other advantages over the regular sendmail as well). At the time
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1514 of this writing, these official versions are available:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1515
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1516 Sendmail V8 on ftp.cs.berkeley.edu in /ucb/sendmail:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1517 sendmail.8.6.9.base.tar.Z (the base system source & documentation)
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1518 sendmail.8.6.9.cf.tar.Z (configuration files)
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1519 sendmail.8.6.9.misc.tar.Z (miscellaneous support programs)
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1520 sendmail.8.6.9.xdoc.tar.Z (extended documentation, with postscript)
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1521
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1522 IDA sendmail on vixen.cso.uiuc.edu in /pub:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1523 sendmail-5.67b+IDA-1.5.tar.gz
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1524
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1525 *** Emacs fails to understand most Internet host names, even though
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1526 the names work properly with other programs on the same system.
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1527 Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1528 Gnus can't make contact with the specified host for nntp.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1530 This typically happens on Suns and other systems that use shared
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1531 libraries. The cause is that the site has installed a version of the
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1532 shared library which uses a name server--but has not installed a
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1533 similar version of the unshared library which Emacs uses.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1534
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1535 The result is that most programs, using the shared library, work with
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1536 the nameserver, but Emacs does not.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1537
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1538 The fix is to install an unshared library that corresponds to what you
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1539 installed in the shared library, and then relink Emacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1541 On SunOS 4.1, simply define HAVE_RES_INIT.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1542
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1543 If you have already installed the name resolver in the file libresolv.a,
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1544 then you need to compile Emacs to use that library. The easiest way to
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1545 do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1546 or LIB_STANDARD which uses -lresolv. Watch out! If you redefine a macro
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1547 that is already in use in your configuration to supply some other libraries,
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1548 be careful not to lose the others.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1549
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1550 Thus, you could start by adding this to config.h:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1551
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1552 #define LIBS_SYSTEM -lresolv
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1553
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1554 Then if this gives you an error for redefining a macro, and you see that
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1555 the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1556 again to say this:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1557
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1558 #define LIBS_SYSTEM -lresolv -lfoo -lbar
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1559
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1560 *** With process-connection-type set to t, each line of subprocess
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1561 output is terminated with a ^M, making ange-ftp and GNUS not work.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1562
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1563 On SunOS systems, this problem has been seen to be a result of an
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1564 incomplete installation of gcc 2.2 which allowed some non-ANSI
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1565 compatible include files into the compilation. In particular this
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1566 affected virtually all ioctl() calls.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1567
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1568
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1569 ** Linux
845
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1570 *** XEmacs crashes on startup, in make-frame.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1571
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1572 Typically the Lisp backtrace includes
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1573
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1574 make-frame(nil #<x-device on ":0.0" 0x2558>)
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1575
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1576 somewhere near the top. The problem is due to an improvement in GNU
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1577 ld that sorts the ELF reloc sections in the executable, giving
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1578 dramatic speedups in startup for large executables. It also confuses
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1579 the traditional unexec code in XEmacs, leading to the core dump. The
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1580 solution is to use the --pdump or --ldflags='-z nocombreloc' options
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1581 to configure. Recent 21.4 and 12.5 autodetect this in configure.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1582
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1583 Red Hat and SuSE (at least) distributed a prerelease version of ld
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1584 (versions around 2.11.90.x.y) where autodetection is impossible. The
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1585 recommended procedure is to upgrade to binutils >= 2.12 and rerun
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1586 configure. Otherwise you must apply the flags by hand. --pdump is
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1587 recommended.
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1588
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1589 *** I want XEmacs to use the Alt key, not the XXX key, for Meta commands
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1590
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1591 For historical reasons, XEmacs looks for a Meta key, then an Alt key.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1592 It binds Meta commands to the X11 modifier bit attached to the first
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1593 of these it finds. On PCs, the Windows key is often assigned the Meta
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1594 bit, but many desktop environments go to great lengths to get all apps
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1595 to use the Alt key, and reserve the Windows key to (sensibly enough)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1596 the window manager.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1597
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1598 One correct way to implement this was suggested on comp.emacs.xemacs
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1599 (by Kilian Foth and in more detail by Michael Piotrowski): unmap the
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1600 Meta modifier using xmodmap or xkb, and then map the Meta/Windows key
450
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1601 to the Super or Hyper keysym and an appropriate mod bit. XEmacs will
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1602 not find the Meta keysym, and default to using the Alt key for Meta
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1603 keybindings. Typically few applications use the (X11) Meta modifier;
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1604 it is tedious but not too much so to teach the ones you need to use
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1605 Super instead of Meta. There may be further useful hints in the
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1606 discussion of keymapping on non-Linux platforms.
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1607
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1608 *** The color-gcc wrapper
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1609
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1610 This wrapper colorizes the error messages from gcc. By default XEmacs
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1611 does not interpret the escape sequences used to generate colors,
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1612 resulting in a cluttered, hard-to-read buffer. You can remove the
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1613 wrapper, or defeat the wrapper colorization in Emacs process buffers
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1614 by editing the "nocolor" attribute in /etc/colorgccrc:
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1615
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1616 $ diff -u /etc/colorgccrc.old /etc/colorgccrc
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1617 --- /etc/colorgccrc.old Tue Dec 26 02:17:46 2000
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1618 +++ /etc/colorgccrc Tue Dec 26 02:15:48 2000
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1619 @@ -34,1 +34,1 @@
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1620 -nocolor: dumb
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1621 +nocolor: dumb emacs
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1622
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1623 If you want colorization in your Emacs buffers, you may get good
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1624 results from the ansi-color.el library:
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1625
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1626 http://www.geocities.com/kensanata/color-emacs.html#ansicolors
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1627
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1628 This is written for the mainline GNU Emacs but the author has made
98528da0b7fc Import from CVS: tag r21-2-40
cvs
parents: 448
diff changeset
1629 efforts to adapt it to XEmacs. YMMV.
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1630
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1631 *** Slow startup on Linux.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1632
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1633 People using systems based on the Linux kernel sometimes report that
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1634 startup takes 10 to 15 seconds longer than `usual'. There are two
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1635 problems, one older, one newer.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1636
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1637 **** Old problem: IPv4 host lookup
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1638
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1639 On older systems, this is because Emacs looks up the host name when it
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1640 starts. Normally, this takes negligible time; the extra delay is due
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1641 to improper system configuration. (Recent Linux distros usually have
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1642 this configuration correct "out of the box".) This problem can occur
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1643 for both networked and non-networked machines.
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1644
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1645 Here is how to fix the configuration. It requires being root.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1646
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1647 ***** Networked Case
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1648
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1649 First, make sure the files `/etc/hosts' and `/etc/host.conf' both
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1650 exist. The first line in the `/etc/hosts' file should look like this
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1651 (replace HOSTNAME with your host name):
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1652
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1653 127.0.0.1 localhost HOSTNAME
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1654
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1655 Also make sure that the `/etc/host.conf' files contains the following
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1656 lines:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1657
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
1658 order hosts, bind
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1659 multi on
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1660
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1661 Any changes, permanent and temporary, to the host name should be
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1662 indicated in the `/etc/hosts' file, since it acts a limited local
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1663 database of addresses and names (e.g., some SLIP connections
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1664 dynamically allocate ip addresses).
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1665
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1666 ***** Non-Networked Case
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1667
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1668 The solution described in the networked case applies here as well.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1669 However, if you never intend to network your machine, you can use a
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1670 simpler solution: create an empty `/etc/host.conf' file. The command
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1671 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1672 file is not necessary with this approach.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1673
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1674 **** New problem: IPv6 CNAME lookup
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1675
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1676 A newer problem is due to XEmacs changing to use the modern
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1677 getaddrinfo() interface from the older gethostbyname() interface. The
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1678 solution above is insufficient, because getaddrinfo() by default tries
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1679 to get IPv6 information for localhost. This always involves a dns
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1680 lookup to get the CNAME, and the strategies above don't work. It then
724
76d5a3dd827a [xemacs-hg @ 2002-01-05 07:33:11 by stephent]
stephent
parents: 708
diff changeset
1681 falls back to IPv4 behavior. This is good[tm] according the people at
76d5a3dd827a [xemacs-hg @ 2002-01-05 07:33:11 by stephent]
stephent
parents: 708
diff changeset
1682 WIDE who know about IPv6.
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1683
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1684 ***** Robust network case
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1685
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1686 Configure your network so that there are no nameservers configured
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1687 until the network is actually running. getaddrinfo() will not try to
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1688 access a nameserver that isn't configured.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1689
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1690 ***** Flaky network case
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1691
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1692 If you have a flaky modem or DSL connection that can be relied on only
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1693 to go down whenever you want to bring XEmacs up, you need to force
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1694 IPv4 behavior. Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1695 is appropriate) works in most cases.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1696
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1697 If you cannot or do not want to do that, you can hard code IPv4
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1698 behavior in src/process-unix.c. This is bad[tm], on your own head be
724
76d5a3dd827a [xemacs-hg @ 2002-01-05 07:33:11 by stephent]
stephent
parents: 708
diff changeset
1699 it. Use the configure option `--with-ipv6-cname=no'.
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1700
845
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1701 *** Mandrake
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1702
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1703 The Mandrake Linux distribution is attempting to comprehensively
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1704 update the user interface, and make it consistent across
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1705 applications. This is very difficult, and will occasionally cause
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1706 conflicts with applications like Emacs with their own long-established
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1707 interfaces. Known issues specific to Mandrake or especially common:
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1708
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1709 Some versions of XEmacs (21.1.9 is known) distributed with Mandrake
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1710 were patched to make the Meta and Alt keysyms synonymous. These
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1711 normally work as expected in the Mandrake environment. However,
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1712 custom-built XEmacsen (including all 21.2 betas) will "inexplicably"
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1713 not respect the "Alt-invokes-Meta-commands" convention. See "I want
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1714 XEmacs to use the Alt key" below.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1715
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1716 The color-gcc wrapper (see below) is in common use on the Mandrake
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1717 platform.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1718
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1719 *** You get crashes in a non-C locale with Linux GNU Libc 2.0.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1720
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1721 Internationalization was not the top priority for GNU Libc 2.0.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1722 As of this writing (1998-12-28) you may get crashes while running
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1723 XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1724 while `LC_ALL=C xemacs' runs fine. This happens for example with GNU
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1725 libc 2.0.7. Installing libintl.a and libintl.h built from gettext
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1726 0.10.35 and re-building XEmacs solves the crashes. Presumably soon
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1727 everyone will upgrade to GNU Libc 2.1 and this problem will go away.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1728
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1729 *** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1730
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1731 If you build with `gpm' support on Linux, you cannot suspend XEmacs
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1732 because gpm installs a buggy SIGTSTP handler. Either compile with
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1733 `--with-gpm=no', or don't suspend XEmacs on the Linux console until
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1734 this bug is fixed.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1735
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1736 *** With certain fonts, when the cursor appears on a character, the
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1737 character doesn't appear--you get a solid box instead.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1738
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1739 One user on a Linux system reported that this problem went away with
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1740 installation of a new X server. The failing server was XFree86 3.1.1.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1741 XFree86 3.1.2 works.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 835
diff changeset
1742
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1743 ** IRIX
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1744 *** On Irix, I don't see the toolbar icons and I'm getting lots of
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1745 entries in the warnings buffer.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1746
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1747 SGI ships a really old Xpm library in /usr/lib which does not work at
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1748 all well with XEmacs. The solution is to install your own copy of the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1749 latest version of Xpm somewhere and then use the --site-includes and
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1750 --site-libraries flags to tell configure where to find it.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1751
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1752 *** Trouble using ptys on IRIX, or running out of ptys.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1753
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1754 The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1755 be set-UID to root, or non-root programs like Emacs will not be able
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1756 to allocate ptys reliably.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1757
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1758 *** Beware of the default image & graphics library on Irix
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1759
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1760 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1761
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1762 You *have* to compile your own jpeg lib. The one delivered with SGI
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1763 systems is a C++ lib, which apparently XEmacs cannot cope with.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1764
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1765
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1766 ** Digital UNIX/OSF/VMS/Ultrix
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1767 *** XEmacs crashes on Digital Unix within font-lock, or when dealing
1036
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 1009
diff changeset
1768 with large compilation buffers, or in other regex applications.
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1769
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1770 The default stack size under Digital Unix is rather small (2M as
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1771 opposed to Solaris 8M), hosing the regexp code, which uses alloca()
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1772 extensively, overflowing the stack when complex regexps are used.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1773 Workarounds:
312
d1b52dcaa789 Import from CVS: tag r21-0b54
cvs
parents: 308
diff changeset
1774
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1775 1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1776 equivalent;
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1777
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1778 2) Recompile regex.c with REGEX_MALLOC defined.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1779
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1780 *** The `Alt' key doesn't behave as `Meta' when running DECwindows.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1781
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1782 The default DEC keyboard mapping has the Alt keys set up to generate the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1783 keysym `Multi_key', which has a meaning to xemacs which is distinct from that
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1784 of the `Meta_L' and `Meta-R' keysyms. A second problem is that certain keys
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1785 have the Mod2 modifier attached to them for no adequately explored reason.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1786 The correct fix is to pass this file to xmodmap upon starting X:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1787
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1788 clear mod2
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1789 keysym Multi_key = Alt_L
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1790 add mod1 = Alt_L
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1791 add mod1 = Alt_R
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1792
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1793 *** The Compose key on a DEC keyboard does not work as Meta key.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1794
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1795 This shell command should fix it:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1796
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1797 xmodmap -e 'keycode 0xb1 = Meta_L'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1798
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1799 *** `expand-file-name' fails to work on any but the machine you dumped
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1800 Emacs on.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1801
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1802 On Ultrix, if you use any of the functions which look up information
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1803 in the passwd database before dumping Emacs (say, by using
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1804 expand-file-name in site-init.el), then those functions will not work
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1805 in the dumped Emacs on any host but the one Emacs was dumped on.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1806
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1807 The solution? Don't use expand-file-name in site-init.el, or in
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1808 anything it loads. Yuck - some solution.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1809
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1810 I'm not sure why this happens; if you can find out exactly what is
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1811 going on, and perhaps find a fix or a workaround, please let us know.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1812 Perhaps the YP functions cache some information, the cache is included
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1813 in the dumped Emacs, and is then inaccurate on any other host.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1814
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1815
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1816 ** HP-UX
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1817 *** I get complaints about the mapping of my HP keyboard at startup,
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1818 but I haven't changed anything.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1819
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1820 The default HP keymap is set up to have Mod1 assigned to two different keys:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1821 Meta_L and Mode_switch (even though there is not actually a Mode_switch key on
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1822 the keyboard -- it uses an "imaginary" keycode.) There actually is a reason
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1823 for this, but it's not a good one. The correct fix is to execute this command
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1824 upon starting X:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1825
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1826 xmodmap -e 'remove mod1 = Mode_switch'
312
d1b52dcaa789 Import from CVS: tag r21-0b54
cvs
parents: 308
diff changeset
1827
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1828 *** On HP-UX, you get "poll: Interrupted system call" message in the
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1829 window where XEmacs was launched.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1830
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1831 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1832
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1833 I get a very strange problem when linking libc.a dynamically: every
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1834 event (mouse, keyboard, expose...) results in a "poll: Interrupted
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1835 system call" message in the window where XEmacs was
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1836 launched. Forcing a static link of libc.a alone by adding
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1837 /usr/lib/libc.a at the end of the link line solves this. Note that
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1838 my 9.07 build of 19.14b17 and my (old) build of 19.13 both exhibit
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1839 the same behavior. I've tried various hpux patches to no avail. If
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1840 this problem cannot be solved before the release date, binary kits
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1841 for HP *must* be linked statically against libc, otherwise this
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1842 problem will show up. (This is directed at whoever will volunteer
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1843 for this kit, as I won't be available to do it, unless 19.14 gets
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1844 delayed until mid-june ;-). I think this problem will be an FAQ soon
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1845 after the release otherwise.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1846
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1847 Note: The above entry is probably not valid for XEmacs 21.0 and
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1848 later.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1849
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1850 *** The right Alt key works wrong on German HP keyboards (and perhaps
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1851 other non-English HP keyboards too).
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1852
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1853 This is because HP-UX defines the modifiers wrong in X. Here is a
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1854 shell script to fix the problem; be sure that it is run after VUE
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1855 configures the X server.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1856
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1857 xmodmap 2> /dev/null - << EOF
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1858 keysym Alt_L = Meta_L
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1859 keysym Alt_R = Meta_R
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1860 EOF
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1861
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1862 xmodmap - << EOF
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1863 clear mod1
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1864 keysym Mode_switch = NoSymbol
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1865 add mod1 = Meta_L
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1866 keysym Meta_R = Mode_switch
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1867 add mod2 = Mode_switch
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1868 EOF
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1869
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1870
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1871 *** XEmacs dumps core at startup when native audio is used. Native
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1872 audio does not work with recent versions of HP-UX.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1873
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1874 Under HP-UX 10.20 and later (e.g., HP-UX 11.XX), with native audio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1875 enabled, the dumped XEmacs binary ("xemacs") core dumps at startup if
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1876 recent versions of the libAlib.sl audio shared library is used. Note
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1877 that "temacs" will run, but "xemacs" will dump core. This, of course,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1878 causes the XEmacs build to fail. If GNU malloc is enabled, a stack
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1879 trace will show XEmacs to have crashed in the "first" call to malloc().
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1880
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1881 This bug currently exists in all versions of XEmacs, when the undump
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1882 mechanism is used. It is not known if using the experimental portable
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1883 dumper will allow native audio to work.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1884
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1885 **** Cause:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1886
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1887 Recent versions of the HP-UX 10.20 (and later) audio shared library (in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1888 /opt/audio/lib), pulls in the libdce shared library, which pulls in a
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1889 thread (libcma) library. This prevents the HP-UX undump() routine (in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1890 unexhp9k800.c) from properly working. What's happening is that some
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1891 initialization routines are being called in the libcma library, *BEFORE*
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1892 main() is called, and these initialization routines are calling
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1893 malloc(). Unfortunately, in order for the undumper to work, XEmacs must
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1894 adjust (move upwards) the sbrk() value *BEFORE* the first call to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1895 malloc(); if malloc() is called before XEmacs has properly adjusted sbrk
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1896 (which is what is happening), dumped memory that is being used by
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1897 XEmacs, is improperly re-allocated for use by malloc() and the dumped
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1898 memory is corrupted. This causes XEmacs to die an horrible death.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1899
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1900 It is believed that versions of the audio library past December 1998
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1901 will trigger this problem. Under HP-UX 10.20, you probably have to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1902 install audio library patches to encounter this. It's probable that
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1903 recent "fresh, out-of-the-box" HP-UX 11.XX workstations also have this
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1904 problem. For HP-UX 10.20, it's believed that audio patch PHSS_17121 (or
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1905 a superceeding one, like PHSS_17554, PHSS_17971, PHSS_18777, PHSS_21481,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1906 or PHSS_21662, etc.) will trigger this.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1907
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1908 To check if your audio library will cause problems for XEmacs, run
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1909 "chatr /opt/audio/lib/libAlib.sl". If "libdce" appears in the displayed
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1910 shared library list, XEmacs will probably encounter problems if audio is
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1911 enabled.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1912
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1913 **** Workaround:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1914
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1915 Don't enable native audio. Re-run configure without native audio
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1916 support.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1917
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1918 If your site supports it, try using NAS (Network Audio Support).
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1919
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1920 Try using the experimental portable dumper. It may work, or it may
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1921 not.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1922
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 432
diff changeset
1923
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1924 *** `Pid xxx killed due to text modification or page I/O error'
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1925
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1926 On HP-UX, you can get that error when the Emacs executable is on an NFS
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1927 file system. HP-UX responds this way if it tries to swap in a page and
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1928 does not get a response from the server within a timeout whose default
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1929 value is just ten seconds.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1930
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1931 If this happens to you, extend the timeout period.
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1932
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1933 *** Shell mode on HP-UX gives the message, "`tty`: Ambiguous".
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1934
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1935 christos@theory.tn.cornell.edu says:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1936
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1937 The problem is that in your .cshrc you have something that tries to
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1938 execute `tty`. If you are not running the shell on a real tty then tty
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1939 will print "not a tty". Csh expects one word in some places, but tty
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1940 is giving it back 3.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1941
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1942 The solution is to add a pair of quotes around `tty` to make it a
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
1943 single word:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1944
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
1945 if (`tty` == "/dev/console")
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1946
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1947 should be changed to:
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1948
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
1949 if ("`tty`" == "/dev/console")
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1950
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1951 Even better, move things that set up terminal sections out of .cshrc
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1952 and into .login.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1953
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1954
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1955 ** SCO
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1956 *** Regular expressions matching bugs on SCO systems.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1957
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1958 On SCO, there are problems in regexp matching when Emacs is compiled
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1959 with the system compiler. The compiler version is "Microsoft C
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1960 version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1961 C Compiler Version 1.00.46 (Beta). The solution is to compile with
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1962 GCC.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1963
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
1964
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
1965 ** Windows
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1966 *** In general, the Windows code is less mature than the Unix code.
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1967
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1968 The Windows code base is still changing quickly. If you are
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1969 experiencing problems, try the latest beta version to see if the
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1970 problem still exists. Also ask on xemacs-nt@xemacs.org.
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1971
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1972
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1973 ** Cygwin
1318
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
1974 *** Signal 11 when building or running a dumped XEmacs.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
1975
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
1976 See the section on Cygwin above, under building.
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1245
diff changeset
1977
1058
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1978 *** XEmacs fails to start because cygXpm-noX4.dll was not found.
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1979
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1980 Andy Piper <andy@xemacs.org> sez:
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1981
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1982 cygXpm-noX4 is part of the cygwin distribution under libraries or
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1983 graphics, but is not installed by default. You need to run the
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1984 cygwin setup again and select this package.
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 1056
diff changeset
1985
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1986 *** Subprocesses do not work.
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1987
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1988 You do not have "tty" in your CYGWIN environment variable. This must
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1989 be set in your autoexec.bat (win95) or the system properties (winnt)
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1990 as it must be read before the cygwin DLL initializes.
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1991
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1992 *** ^G does not work on hung subprocesses.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
1993
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1994 This is a known problem. It can be remedied by defining BROKEN_SIGIO
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1995 in src/s/cygwin.h, however this currently leads to instability in XEmacs.
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1996 (#### is this still true?)
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1997
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
1998 *** Errors from make like `/c:not found' when running `M-x compile'.
308
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 304
diff changeset
1999
524
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2000 Make sure you set the environment variable MAKE_MODE to UNIX in your
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2001 init file (.xemacs/init.el), Control Panel (Windows 2000/NT), or
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2002 AUTOEXEC.BAT (Windows 98/95).
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2003
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2004 *** There are no images in the toolbar buttons.
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2005
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2006 You need version 4.71 of commctrl.dll which does not ship with windows
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2007 95. You can get this by installing IE 4.0 or downloading it from the
1f4790508db6 [xemacs-hg @ 2001-05-09 13:46:55 by ben]
ben
parents: 464
diff changeset
2008 microsoft website.
308
33bdb3d4b97f Import from CVS: tag r21-0b52
cvs
parents: 304
diff changeset
2009
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2010
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2011 * Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs)
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2012 ==============================================================================
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2013
373
6240c7796c7a Import from CVS: tag r21-2b2
cvs
parents: 371
diff changeset
2014 *** "Symbol's value as variable is void: unread-command-char".
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2015 "Wrong type argument: arrayp, #<keymap 143 entries>"
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2016 "Wrong type argument: stringp, [#<keypress-event return>]"
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2017
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2018 There are a few incompatible changes in XEmacs, and these are the
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2019 symptoms. Some of the emacs-lisp code you are running needs to be
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2020 updated to be compatible with XEmacs.
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2021
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2022 The code should not treat keymaps as arrays (use `define-key', etc.),
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2023 should not use obsolete variables like `unread-command-char' (use
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2024 `unread-command-events'). Many (most) of the new ways of doing things
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2025 are compatible in GNU Emacs and XEmacs.
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2026
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2027 Modern Emacs packages (Gnus, VM, W3, efs, etc) are written to support
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2028 GNU Emacs and XEmacs. We have provided modified versions of several
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2029 popular emacs packages (dired, etc) which are compatible with this
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2030 version of emacs. Check to make sure you have not set your load-path
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2031 so that your private copies of these packages are being found before
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2032 the versions in the lisp directory.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2033
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2034 Make sure that your load-path and your $EMACSLOADPATH environment
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2035 variable are not pointing at an Emacs18 lisp directory. This will
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2036 cripple emacs.
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2037
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2038 ** Some packages that worked before now cause the error
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2039 Wrong type argument: arrayp, #<face ... >
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2040
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2041 Code which uses the `face' accessor functions must be recompiled with
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2042 xemacs 19.9 or later. The functions whose callers must be recompiled
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2043 are: face-font, face-foreground, face-background,
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2044 face-background-pixmap, and face-underline-p. The .elc files
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2045 generated by version 19.9 will work in 19.6 and 19.8, but older .elc
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2046 files which contain calls to these functions will not work in 19.9.
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2047
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2048 ** Signaling: (error "Byte code stack underflow (byte compiler bug), pc 38")
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2049
120
cca96a509cfe Import from CVS: tag r20-1b12
cvs
parents: 116
diff changeset
2050 This error is given when XEmacs 20 is compiled without MULE support
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2051 but is attempting to load a .elc which requires MULE support. The fix
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2052 is to rebytecompile the offending file.
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2053
124
9b50b4588a93 Import from CVS: tag r20-1b15
cvs
parents: 120
diff changeset
2054 ** Signaling: (wrong-type-argument ...) when loading mail-abbrevs
88
821dec489c24 Import from CVS: tag r20-0
cvs
parents: 70
diff changeset
2055
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2056 The is seen when installing the Insidious Big Brother Data Base (bbdb)
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2057 which includes an outdated copy of mail-abbrevs.el. Remove the copy
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2058 that comes with bbdb and use the one that comes with XEmacs.
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2059
144
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2060
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2061 * MULE issues
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2062 =============
144
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2063
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2064 ** A reminder: XEmacs/Mule work does not currently receive *any*
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2065 funding, and all work is done by volunteers. If you think you can
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2066 help, please contact the XEmacs maintainers.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2067
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 276
diff changeset
2068 ** XEmacs/Mule doesn't support TTY's satisfactorily.
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2069
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2070 This is a major problem, which we plan to address in a future release
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2071 of XEmacs. Basically, XEmacs should have primitives to be told
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2072 whether the terminal can handle international output, and which
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2073 locale. Also, it should be able to do approximations of characters to
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2074 the nearest supported by the locale.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2075
197
acd284d43ca1 Import from CVS: tag r20-3b25
cvs
parents: 163
diff changeset
2076 ** Internationalized (Asian) Isearch doesn't work.
144
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2077
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2078 Currently, Isearch doesn't directly support any of the input methods
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2079 that are not XIM based (like egg, canna and quail) (and there are
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2080 potential problems with XIM version too...). If you're using egg
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2081 there is a workaround. Hitting <RET> right after C-s to invoke
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2082 Isearch will put Isearch in string mode, where a complete string can
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2083 be typed into the minibuffer and then processed by Isearch afterwards.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2084 Since egg is now supported in the minibuffer using string mode you can
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2085 now use egg to input your Japanese, Korean or Chinese string, then hit
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2086 return to send that to Isearch and then use standard Isearch commands
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2087 from there.
144
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2088
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2089 ** Using egg and mousing around while in 'fence' mode screws up my
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2090 buffer.
144
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2091
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2092 Don't do this. The fence modes of egg and canna are currently very
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2093 modal, and messing with where they expect point to be and what they
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2094 think is the current buffer is just asking for trouble. If you're
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2095 lucky they will realize that something is awry, and simply delete the
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2096 fence, but worst case can trash other buffers too. We've tried to
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2097 protect against this where we can, but there still are many ways to
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2098 shoot yourself in the foot. So just finish what you are typing into
318232e2a3f0 Import from CVS: tag r20-2b6
cvs
parents: 138
diff changeset
2099 the fence before reaching for the mouse.
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2100
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2101 ** Not all languages in Quail are supported like Devanagari and Indian
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2102 languages, Lao and Tibetan.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2103
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2104 Quail requires more work and testing. Although it has been ported to
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2105 XEmacs, it works really well for Japanese and for the European
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2106 languages.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2107
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2108 ** Right-to-left mode is not yet implemented, so languages like
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2109 Arabic, Hebrew and Thai don't work.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2110
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2111 Getting this right requires more work. It may be implemented in a
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2112 future XEmacs version, but don't hold your breath. If you know
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2113 someone who is ready to implement this, please let us know.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2114
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2115 ** We need more developers and native language testers. It's extremely
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2116 difficult (and not particularly productive) to address languages that
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2117 nobody is using and testing.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2118
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2119 ** The kWnn and cWnn support for Chinese and Korean needs developers
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2120 and testers. It probably doesn't work.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2121
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2122 ** There are no `native XEmacs' TUTORIALs for any Asian languages,
454
d7a9135ec789 Import from CVS: tag r21-2-42
cvs
parents: 452
diff changeset
2123 including Japanese. FSF Emacs and XEmacs tutorials are quite similar,
223
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2124 so it should be sufficient to skim through the differences and apply
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2125 them to the Japanese version.
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2126
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2127 ** We only have localized menus translated for Japanese, and the
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2128 Japanese menus are developing bitrot (the Mule menu appears in
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2129 English).
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2130
2c611d1463a6 Import from CVS: tag r20-4b10
cvs
parents: 215
diff changeset
2131 ** XIM is untested for any language other than Japanese.