Commit | Line | Data |
---|---|---|
b727702b EZ |
1 | Emacs machines list |
2 | ||
3 | Copyright (c) 1989, 1990, 1992, 1993, 1998, 2001, 2003, 2006 | |
4 | Free software Foundation, Inc. | |
5 | See the end of the file for copying permissions. | |
6 | ||
f4b79972 EZ |
7 | This is a list of the status of GNU Emacs on various machines and systems. |
8 | ||
9 | For each system and machine, we give the configuration name you should | |
10 | pass to the `configure' script to prepare to build Emacs for that | |
11 | system/machine. | |
12 | ||
13 | The `configure' script uses the configuration name to decide which | |
14 | machine and operating system description files `src/config.h' should | |
15 | include. The machine description files are all in `src/m', and have | |
16 | names similar to, but not identical to, the machine names used in | |
17 | configuration names. The operating system files are all in `src/s', | |
18 | and are named similarly. See the `configure' script if you need to | |
19 | know which configuration names use which machine and operating system | |
20 | description files. | |
21 | ||
22 | If you add support for a new configuration, add a section to this | |
23 | file, and then edit the `configure' script to tell it which | |
24 | configuration name(s) should select your new machine description and | |
25 | system description files. | |
26 | ||
27 | \f | |
28 | Here are the configurations Emacs is intended to work with, with the | |
29 | corresponding configuration names. You can postpend version numbers | |
30 | to operating system names (i.e. sunos4.1) or architecture names (i.e. | |
31 | hppa1.1). If you leave out the version number, the `configure' script | |
32 | will configure Emacs for the latest version it knows about. | |
33 | ||
34 | Acorn RISCiX (arm-acorn-riscix1.2) | |
35 | ||
36 | Emacs 19.29 has changes that ought to support RISCiX 1.2. | |
37 | ||
38 | Due to a bug in the RISCiX C compiler (3.4.5), emacs must | |
39 | be built with gcc (versions 2.5.8 onwards). | |
40 | ||
41 | In addition, you will need GNU sed and GNU make, as the RISCiX release | |
42 | versions of these utilities cannot cope with building emacs-19! | |
43 | ||
44 | GNU sed should be configured with: | |
45 | ||
46 | env 'DEFS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \ | |
47 | -Doptarg=gnu_optarg' ./configure | |
48 | ||
49 | GNU make (3.72+) should be configured with: | |
50 | ||
51 | env 'CFLAGS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \ | |
52 | -Doptarg=gnu_optarg' ./configure | |
53 | ||
54 | Emacs may be configured to use the X toolkit, by adding --with-x-toolkit | |
55 | to the configure command. If you do this, you will need to edit the line | |
56 | in src/Makefile which defines LIBW (about line 59) to read: | |
57 | ||
58 | LIBW= -lXaw_n | |
59 | ||
60 | This ensures that the non-shared widget library is used. | |
61 | ||
62 | It is unlikely that this version of emacs will work with RISCiX 1.1. | |
63 | ||
64 | Alliant (fx80-alliant-bsd): | |
65 | ||
66 | 18.52 worked on system version 4. Previous Emacs versions were | |
67 | known to work on previous system versions. | |
68 | ||
69 | If you are using older versions of their operating system, you may | |
70 | need to edit `src/config.h' to use `m/alliant1.h' (on version 1) or | |
71 | `m/alliant.h' (on versions 2 and 3). | |
72 | ||
73 | Alliant FX/2800 (i860-alliant-bsd) | |
74 | ||
75 | Known to work with 19.26 and OS version 2.2, compiler version 1.3. | |
76 | ||
77 | Alpha (DEC) running OSF/1 or GNU/Linux (alpha-dec-osf1, alpha-dec-linux-gnu) | |
78 | ||
79 | For OSF/1 (aka Digital Unix) version 4.0, update 386, | |
80 | it is reported that you need to run configure this way: | |
81 | ||
82 | configure --x-includes=/usr/include --x-libraries=/usr/shlib | |
83 | ||
538af1cd EZ |
84 | DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f) |
85 | is reported to produce bogus binaries of Emacs 21.2 when the | |
86 | command-line switches "-O4 -arch ev6 -tune ev6" are used. Using | |
87 | just -O4 produces a good executable. | |
88 | ||
f4b79972 EZ |
89 | For 4.0 revision 564, and 4.0A and 4.0B, Emacs 20 seems to work |
90 | with no special configuration options. However, if you use GCC as | |
91 | your compiler, you will need version 2.8.1 or later, as older | |
92 | versions fail to build with a message "Invalid dimension for the | |
93 | charset-ID 160". | |
94 | ||
95 | Note that the X11 libraries on GNU/Linux systems for the Alpha are | |
96 | said to have bugs that prevent Emacs from working with X (as of | |
97 | November 1995). Recent releases work (July 2000). | |
98 | ||
99 | Altos 3068 (m68k-altos-sysv) | |
100 | ||
101 | 18.52 was said to work, provided you don't compile unexec.c with -O. | |
102 | ||
103 | Amdahl UTS (580-amdahl-sysv) | |
104 | ||
105 | Small changes for 18.38 were merged in 18.39. It is mostly | |
106 | working, but at last report a bug sometimes causes Emacs to | |
107 | grab very large amounts of memory. No fix or explanation | |
108 | has yet been reported. It may be possible to find this bug | |
109 | if you find which Emacs command it happens within and then | |
110 | run that command with a breakpoint set at malloc. | |
111 | ||
112 | The 5.2u370 compiler is so brain damaged that it is not | |
113 | even worth trying to use it. Success was obtained with the | |
114 | uts native C compiler on uts version 5.2.5. | |
115 | ||
128a6043 ST |
116 | Apple Macintosh running Mac OS X |
117 | ||
0819bf7e | 118 | For installation on all versions of the Mac OS platform, see the file |
128a6043 ST |
119 | mac/INSTALL. |
120 | ||
9ff069a5 EZ |
121 | Apple PowerPC Macintosh running GNU/Linux |
122 | ||
123 | There are special considerations for a variety of this system which | |
723718ff | 124 | is known as the ``Yellow Dog [GNU/]Linux'': Emacs may crash during |
9ff069a5 EZ |
125 | dumping. To solve this, edit the header file src/m/macppc.h in the |
126 | Emacs distribution, and remove the "#if 0" and "#endif" directives | |
127 | which surround the following block near the end of the file: | |
128 | ||
129 | #if 0 /* This breaks things on PPC GNU/Linux ecept for Yellowdog, | |
130 | even with identical GCC, as, ld. Let's take it out until we | |
131 | know what's really going on here. */ | |
132 | /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to | |
133 | 0x10000000. */ | |
134 | #if defined __linux__ | |
135 | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) | |
136 | #define DATA_SEG_BITS 0x10000000 | |
137 | #endif | |
138 | #endif | |
139 | #endif /* 0 */ | |
140 | ||
141 | After that, reconfigure and rebuild Emacs. It should now build | |
142 | successfully. | |
143 | ||
f4b79972 EZ |
144 | Apollo running X Windows (m68k-apollo-bsd) |
145 | ||
146 | Apollo version now supports dumping. It has been tested on SR10.3 and | |
147 | SR10.4. It certainly requires at least SR10.0, and maybe SR10.2. Be sure | |
148 | to build in the BSD environment. | |
149 | ||
150 | By default, everything is compiled with the switch "-W0,-opt,2". Don't try | |
151 | to change this to full optimization (-O). The full optimizer (in Domain CC | |
152 | 6.7, 6.8 and 6.9) generates some bad code in several modules which causes | |
153 | the emacs window, under X, to be refreshed with each keystroke. | |
154 | ||
155 | The configuration stuff should work for the most part. However, some Domain | |
156 | installations may have to edit src/Makefile manually after it is created. | |
157 | There are too many versions of both cc and X to automate this easily. | |
158 | ||
159 | In `lib-src/Makefile', emacsclient and emacsserver compile and work fine | |
160 | under CC 6.9. They now probably work under other versions of the compiler, | |
161 | as well. | |
162 | ||
163 | The Apollo Domain CC compiler will issue quite a few warning messages, | |
164 | mostly complaining about incompatible pointers. In general, these are | |
165 | harmless and can be ignored. If you discover otherwise, please submit a bug | |
166 | report identifying the problem in detail. | |
167 | ||
168 | When you try to dump emacs, you may get the message ".rwdi section needs | |
169 | relocation." This means you are linking with some code that has compressed | |
170 | data sections. In some cases this comes from linking with X libraries. Try | |
171 | using shared X libraries instead. With some versions of Domain/OS this is | |
c60ee5e7 JB |
172 | as simple as removing the "-lX11" from the LIBX line in src/Makefile. |
173 | ||
f4b79972 EZ |
174 | When running the configure script, use the configuration name |
175 | "m68k-apollo-bsd". You will also need to use the "-with-gcc=no" and | |
176 | "-with-x" options. Depending upon your site configuration, you may have to | |
177 | use other configure options, as well. Examine the INSTALL file for other | |
178 | configure options. | |
179 | ||
180 | Check out the file 'lisp/x-apollo.el'. To use it, add | |
181 | ||
182 | (load "x-apollo") | |
183 | ||
184 | to your .emacs file. It provides useful default Apollo function key | |
185 | bindings. | |
186 | ||
187 | AT&T 3b2, 3b5, 3b15, 3b20 (we32k-att-sysv) | |
188 | ||
c60ee5e7 | 189 | Emacs will probably not work with certain kernel constants too small. |
f4b79972 | 190 | |
c60ee5e7 | 191 | In param.h CDLIMIT should be at least (1L << 12) in order to allow |
f4b79972 EZ |
192 | processes to write up to 2 Mbyte files. This parameter is configurable |
193 | by normal means in /etc/master.d/kernel; examine that file for the | |
194 | symbol CDLIMIT or ULIMIT, and raise it by several powers of 2. Then | |
195 | do normal kernel rebuild things via "cd /boot; mkboot -k KERNEL" and so | |
196 | forth. | |
197 | ||
198 | In seg.h NSEGP and STACKSEG should be at least 16 and 4 respectively | |
199 | to allow processes with total size of up to 2Mbytes. | |
200 | However, I'm told it is unlikely this would fail to be true. | |
201 | ||
202 | The MAXMEM may also prevent Emacs from running. The file | |
203 | 3B-MAXMEM in this directory explains how to increase MAXMEM. | |
204 | ||
205 | On some of these machines, you may need to define IN_SCCS_ID | |
206 | in config.h to make Emacs work. Supposedly you can tell whether | |
207 | this is necessary by checking something in /usr/include/sys/time.h; | |
208 | we do not know precisely what. | |
209 | ||
210 | AT&T 7300 or 3b1 (m68k-att-sysv) | |
211 | ||
212 | 18.52 worked. If you have strange troubles with dumping | |
213 | Emacs, delete the last few lines from `src/m/7300.h' and recompile. | |
214 | These lines are supposed to produce a sharable executable. | |
215 | ||
216 | `src/m/7300.h' defines SHORTNAMES because operating system versions | |
217 | older than 3.5 did not support long symbol names. Version 3.5 does | |
218 | support them, so you can remove the #define SHORTNAMES in that | |
219 | version. | |
220 | ||
221 | Bull DPX/2 models 2nn or 3nn (m68k-bull-sysv3) | |
222 | ||
223 | Minor fixes merged into 19.19, which should work with CC or GCC. | |
224 | ||
225 | You should compile with all the POSIX stuff: undef _SYSV and define | |
226 | _POSIX_SOURCE, _XOPEN_SOURCE and _BULL_SOURCE. | |
227 | ||
228 | On bos2.00.45 there is a bug that makes the F_SETOWN fcntl | |
c60ee5e7 | 229 | call enters in an infinite loop. F_SETOWN_BUG has been defined to avoid |
f4b79972 EZ |
230 | calling it. |
231 | ||
232 | Bull DPX/20 (rs6000-bull-bosx) | |
233 | ||
234 | Version 19 works. | |
235 | ||
236 | Bull sps7 (m68k-bull-sysv2) | |
237 | ||
238 | Changes partially merged in version 19, but some fixes are probably required. | |
239 | ||
240 | CCI 5/32, 6/32 | |
241 | ||
242 | See "Tahoe". | |
243 | ||
244 | Celerity (celerity-celerity-bsd4.2) | |
245 | ||
246 | Version 18.49 worked. This configuration name is a hack, because we | |
247 | don't know the processor used by Celerities. If someone | |
248 | who uses a Celerity could get in touch with us, we can teach | |
249 | config.sub a better name for the configuration. | |
250 | ||
251 | Clipper (clipper-???) | |
252 | ||
253 | Version 19 has support for some brand of clipper system. If you | |
254 | have successfully built Emacs 19 on some sort of clipper system, let | |
255 | us know so we can flesh out this entry. | |
256 | ||
257 | Note that the Orion 105 is also a clipper, but some system-related | |
258 | parameters are different. | |
259 | ||
260 | Convex (c1-convex-bsd, c2-convex-bsd, c32-convex-bsd, c34-convex-bsd, | |
261 | c38-convex-bsd) | |
262 | ||
263 | Support updated and residual bugs fixed in 19.26. | |
264 | ||
265 | Cubix QBx/386 (i386-cubix-sysv) | |
266 | ||
267 | Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c | |
268 | due to a compiler bug. | |
269 | ||
270 | Cydra 5 (cydra-cydrome-sysv) | |
271 | ||
272 | 18.51 worked in one version of their operating system but stopped | |
273 | working in a newer version. This has not been fixed. | |
274 | ||
275 | Data General Aviion (m88k-dg-dgux) | |
276 | ||
277 | 19.23 works; however, the GCC provided with DGUX 5.4R3.00 fails to | |
278 | compile src/emacs.c. GCC 2.5.8 does work. | |
279 | The 19.26 pretest was reported to work; no word on which compiler. | |
280 | System versions other than DGUX 5.4R3.00 have not been tested. | |
281 | ||
282 | DGUX 5.4R3.10 works with 19.29 and 19.30. | |
c60ee5e7 | 283 | |
f4b79972 EZ |
284 | DGUX R4.11 contains changes to the stdio internals and it doesn't work |
285 | with versions before 20.2 without patches. 20.2 works in interactive | |
286 | mode but usually fails in batch mode. The problem is that using | |
287 | stderr in the dumped emacs usually leads to a segmentation fault. | |
288 | Only m88k has been tested. | |
289 | ||
290 | DECstation (mips-dec-ultrix or mips-dec-osf) | |
291 | ||
292 | This machine is the older Mips-based DECstation. | |
293 | Emacs should now work on the Alpha CPU. | |
294 | ||
295 | 19.25 works on Ultrix 4.2. The 19.26 pretest was reported to work | |
296 | on Ultrix 4.2a and on 4.4. | |
297 | ||
298 | One user reported 19.25 did not work at all with --with-x-toolkit | |
299 | using X11R5 patch level 10, but worked ok with X11R5 pl26. | |
300 | ||
301 | See under Ultrix for problems using X windows on Ultrix. | |
302 | Note that this is a MIPS machine. | |
303 | ||
304 | For Ultrix versions 4.1 or earlier, you may need to define | |
305 | SYSTEM_MALLOC in `src/m/pmax.h', because XvmsAlloc.o in libX11.a seems | |
306 | to insist on defining malloc itself. | |
307 | ||
308 | For Ultrix versions prior to 4.0, you may need to delete | |
309 | the definition of START_FILES from `src/m/pmax.h'. | |
310 | ||
311 | Motorola Delta 147 (m68k-motorola-sysv) | |
312 | ||
313 | The EMacs 19.26 pretest was reported to work. | |
314 | ||
315 | Motorola Delta boxes running System V/68 release 3. | |
316 | Tested on 147 board with SVR3V7, no X and gcc. | |
317 | Tested on 167 board with SVR3V7, no X, cc, gnucc and gcc. | |
318 | Reports say it works with X too. | |
319 | ||
320 | The installation script chooses the compiler itself. gnucc is | |
321 | preferred. | |
322 | ||
323 | Motorola Delta 187 (m88k-motorola-sysv, | |
324 | m88k-motorola-sysvr4, or | |
325 | m88k-motorola-m88kbcs) | |
326 | ||
327 | The 19.26 pretest was reported to run on SVR3. However, if you | |
328 | use --with-x-toolkit on svr3, you will have problems compiling some | |
329 | files because time.h and sys/time.h get included twice. | |
330 | One fix is to edit those files to protect against multiple inclusion. | |
331 | ||
332 | As of version 19.13, Emacs was reported to run under SYSVr3 and SYSVr4. | |
c60ee5e7 | 333 | |
f4b79972 EZ |
334 | Dual running System V (m68k-dual-sysv) |
335 | ||
336 | As of 17.46, this worked except for a few changes | |
337 | needed in unexec.c. | |
338 | ||
339 | Dual running Uniplus (m68k-dual-uniplus) | |
340 | ||
341 | Worked, as of 17.51. | |
342 | ||
343 | Elxsi 6400 (elxsi-elxsi-sysv) | |
344 | ||
345 | Changes for 12.0 release are in 19.1. | |
346 | Dumping should work now. | |
347 | ||
348 | Encore machine (ns16k-encore-bsd) | |
349 | ||
350 | This machine bizarrely uses 4.2BSD modified to use the COFF format | |
351 | for object files. Works (as of 18.40). For the APC processor you | |
352 | must enable two lines at the end of `src/s/umax.h', which are commented | |
353 | out in the file as distributed. | |
354 | ||
355 | WARNING: If you compile Emacs with the "-O" compiler switch, you | |
356 | must also use the "-q enter_exits" switch so that all functions have | |
357 | stack frames. Otherwise routines that call `alloca' all lose. | |
358 | ||
359 | A kernel bug in some system versions causes input characters to be lost | |
360 | occasionally. | |
361 | ||
362 | Fujitsu DS/90 (sparc-fujitsu-sysv4) | |
363 | ||
364 | Changes merged in 20.3. | |
365 | ||
366 | GEC 63 (local-gec63-usg5.2) | |
367 | ||
368 | Changes are partially merged in version 18, but certainly require | |
369 | more work. Let us know if you get this working, and we'll give it a | |
370 | real configuration name. | |
371 | ||
372 | Gould Power Node (pn-gould-bsd4.2 or pn-gould-bsd4.3) | |
373 | ||
374 | 18.36 worked on versions 1.2 and 2.0 of the operating system. | |
375 | ||
376 | On UTX/32 2.0, use pn-gould-bsd4.3. | |
377 | ||
378 | On UTX/32 1.2 and UTX/32S 1.0, use pn-gould-bsd4.2 and note that | |
379 | compiling `lib-src/sorted-doc' tickles a compiler bug: remove the -g | |
380 | flag to cc in the makefile. | |
381 | ||
c60ee5e7 | 382 | UTX/32 1.3 has a bug in the bcopy library routine. Fix it by |
f4b79972 EZ |
383 | #undef BSTRING in `src/m/gould.h'. |
384 | ||
385 | Version 19 incorporates support for releases 2.1 and later of UTX/32. | |
386 | A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h. | |
387 | ||
388 | Gould NP1 (np1-gould-bsd) | |
389 | ||
390 | Version 19 supposedly works. | |
391 | ||
392 | Harris Night Hawk (m68k-harris-cxux or m88k-harris-cxux) | |
393 | ||
394 | This port was added in 19.23. The configuration actually tested was | |
395 | a Night Hawk 4800 running CX/UX 7.0. | |
396 | ||
397 | If you have GCC ported and want to build with it, you probably need to | |
398 | change things (like compiler switches) defined in the s/cxux.h file. | |
399 | ||
400 | If you have X11R6 installed in /usr/lib, configure will fail to find | |
401 | it and may find X11R5 instead. To work around this problem, use | |
402 | --x-libraries=/usr/lib when you run configure. | |
403 | ||
404 | With CX/UX 7.0 and later releases, you need to build after setting the | |
405 | SDE_TARGET environment variable to COFF (a port using ELF and shared | |
406 | libraries has not yet been done). | |
407 | ||
408 | Harris Power PC (powerpc-harris-powerunix) | |
409 | ||
410 | Patches have been merged in 19.31. | |
411 | ||
412 | Honeywell XPS100 (xps100-honeywell-sysv) | |
413 | ||
414 | Config file added in version 19. | |
415 | ||
416 | Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux | |
417 | or m68k-hp-netbsd) | |
418 | ||
419 | These machines are 68000-series CPUs running HP/UX | |
420 | (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah. | |
421 | The operating system suffix determines which system Emacs is built for. | |
422 | ||
423 | Series 200 HPUX runs Emacs only if it has the "HP/UX upgrade". | |
424 | ||
425 | Version 19 works under BSD. The 19.26 pretest was reported | |
426 | to work on HPUX 9. 19.31 works on HPUX 10.01, but there are | |
427 | some problems on 10.10 which have not been resolved. Emacs 19.34 | |
428 | works on HPUX 10.20 provided you compile with GCC; with the HP C | |
429 | compiler, subprocess commands do not work. | |
c60ee5e7 | 430 | |
f4b79972 EZ |
431 | On HPUX 9, Emacs sometimes crashes with SIGBUS or SIGSEGV after you |
432 | delete a frame. We think this is due to a bug in the X libraries | |
433 | provided by HP. With the alternative X libraries in | |
434 | /usr/contrib/mitX11R5/lib, the problem does not happen. | |
435 | ||
436 | If you are running HP/UX release 8.0 or later, you need the optional | |
437 | "C/ANSI C" software in order to build Emacs (older releases of HP/UX | |
438 | do not require any special software). If the file "/etc/filesets/C" | |
439 | exists on your machine, you have this software, otherwise you do not. | |
440 | ||
441 | Note that HP has used two incompatible assembler syntaxes, | |
442 | and has recently changed the format of C function frames. | |
443 | `src/crt0.c' and `src/alloca.s' have been conditionalised for the new | |
444 | assembler and new function-entry sequence. You may need to define | |
445 | OLD_HP_ASSEMBLER if you are using an older hpux version. If you | |
446 | have an official (bought from HP) series 300 machine you have | |
447 | the new assembler. Kernels that are 5.+ or later have new | |
448 | assembler. A Series 200 that has been upgraded to a 68010 | |
449 | processor and a 5.+ kernel has the new compiler. | |
450 | ||
451 | Define C_SWITCH_MACHINE to be +X to make a version of Emacs that | |
452 | runs on both 68010 and 68020 based HP/UX's. | |
453 | ||
454 | Define HPUX_68010 if you are using the new assembler, for | |
455 | a system that has a 68010 without a 68881. This is to say, | |
456 | a s200 (upgraded) or s310. | |
457 | ||
458 | Define the symbol HPUX_NET if you have the optional network features | |
459 | that include the `netunam' system call. This is referred to as | |
460 | Network Services (NS/9000) in HP literature. | |
461 | ||
462 | HP 9000 series 500: not supported. | |
463 | ||
464 | The series 500 has a seriously incompatible memory architecture | |
465 | which relocates data in memory during execution of a program, | |
466 | and support for it would be difficult to implement. | |
467 | ||
468 | HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux | |
469 | or ...hpux9shr, or ...-nextstep) | |
470 | ||
471 | Use hppa1.1 for the 700 series and hppa1.0 for the 800 | |
472 | series machines. (Emacs may not actually care which one you use.) | |
473 | ||
474 | Support for NextSTEP was added in 19.31. | |
475 | ||
476 | Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install | |
477 | the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; | |
478 | when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03, | |
479 | the subprocess features failed to work. | |
480 | ||
481 | 19.26 is believed to work on HPUX 9 provided you compile with GCC. | |
482 | As of version 19.16, Emacs was reported to build (using GCC) and run | |
483 | on HP 9000/700 series machines running HP/UX versions 8.07 and 9.01. | |
484 | The HP compiler is known to fail on some versions if you use +O3, | |
485 | but it may work with lower optimization levels. | |
486 | ||
487 | Use hppa1.1-hp-hpux9shr to use shared libraries on HPUX version 9. | |
488 | You may need to create the X libraries libXaw.a and libXmu.a from | |
489 | the MIT X distribute, and you may need to edit src/Makefile's | |
490 | definition of LIBXT to look like this: | |
491 | ||
492 | LIBXT= $(LIBW) -lXmu -lXt $(LIBXTR6) -lXext | |
493 | ||
494 | Some people report trouble using the GNU memory allocator under | |
495 | HP/UX version 9. The problems often manifest as lots of ^@'s in the | |
496 | buffer. | |
c60ee5e7 | 497 | |
f4b79972 EZ |
498 | We are told that these problems go away if you obtain the latest |
499 | patches for the HP/UX C compiler. James J Dempsey | |
500 | <jjd@spserv.bbn.com> says that this set of versions works for him: | |
501 | /bin/cc: | |
502 | HP92453-01 A.09.28 HP C Compiler | |
503 | /lib/ccom: | |
504 | HP92453-01 A.09.28 HP C Compiler | |
505 | HP-UX SLLIC/OPTIMIZER HP-UX.09.00.23 02/18/93 | |
506 | Ucode Code Generator - HP-UX.09.00.23.5 (patch) 2/18/93 | |
507 | ||
508 | For 700 series machines, the HP-UX patch needed is known as | |
509 | PHSS_2653. (Perhaps for 800 series machines as well; we don't | |
510 | know.) If you are on the Internet, you should be able to obtain | |
511 | this patch by using telnet to access the machine | |
512 | support.mayfield.hp.com and logging in as "hpslreg" and following | |
513 | the instructions there. Or you may be able to use this | |
514 | web site: | |
515 | ||
516 | HP Patch Server: http://support.mayfield.hp.com/patches/html/patches.html | |
517 | HP Support Line: http://support.mayfield.hp.com | |
518 | ||
519 | Please do not ask FSF for further support on this. If you have any | |
520 | trouble obtaining the patch, contact HP Software Support. | |
521 | ||
522 | If your buffer fills up with nulls (^@) at some point, it could well | |
523 | be that problem. That problem does not happen when people use GCC | |
524 | to compile Emacs. On the other hand, the HP compiler version 9.34 | |
525 | was reported to work for the 19.26 pretest. 9.65 was also reported to work. | |
526 | ||
527 | If you turn on the DSUSP character (delayed suspend), | |
528 | Emacs 19.26 does not know how to turn it off on HPUX. | |
529 | You need to turn it off manually. | |
530 | ||
531 | If you are running HP/UX release 8.0 or later, you need the optional | |
532 | "C/ANSI C" software in order to build Emacs (older releases of HP/UX | |
533 | do not require any special software). If the file "/etc/filesets/C" | |
534 | exists on your machine, you have this software, otherwise you do not. | |
535 | ||
536 | High Level Hardware Orion (orion-highlevel-bsd) | |
537 | ||
538 | This is the original microprogrammed hardware. | |
539 | Machine description file ought to work. | |
540 | ||
541 | High Level Hardware Orion 1/05 (clipper-highlevel-bsd) | |
542 | ||
543 | Changes merged in 18.52. This is the one with the Clipper cpu. | |
544 | Note that systems which lack NFS need LOAD_AVE_TYPE changed to `double'. | |
545 | ||
546 | C compiler has a bug; it loops compiling eval.c. | |
547 | Compile it by hand without optimization. | |
548 | ||
549 | HITACHI SR2001/SR2201 series (hppa1.1-hitachi-hiuxwe2) | |
550 | ||
551 | These machines are based on PA architecture running HI-UX/MPP | |
552 | (based on OSF1. `MPP' stands for `Massively Parallel Processor'). | |
c60ee5e7 | 553 | |
f4b79972 | 554 | Emacs 19.34 is believed to work; its pretest was tested |
c60ee5e7 | 555 | both on SR2001 (output of `uname -rv' is `00-01-BB 0') and |
f4b79972 EZ |
556 | SR2201 (`02-00 0'). |
557 | ||
558 | Emacs 20.7 was reported to build on a system whose `uname -rs' | |
559 | output is `HI-UX/MPP 03-04'. | |
c60ee5e7 JB |
560 | |
561 | The machine description file is `src/m/sr2k.h' is based on | |
f4b79972 | 562 | `src/m/hp800.h'. The system description file is `src/s/hiuxwe2.h' |
c60ee5e7 | 563 | based on `src/s/osf1.h'. Note that this system doesn't use COFF. |
f4b79972 EZ |
564 | |
565 | IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2) | |
566 | ||
567 | Changes merged in version 19. You may need to copy | |
568 | /usr/lib/samples/hft/hftctl.c to the Emacs src directory. | |
569 | ||
570 | i386-ibm-aix1.1 may not work with certain new X window managers, and | |
571 | may be suboptimal. | |
572 | ||
573 | IBM RS/6000 (rs6000-ibm-aix*) | |
574 | ||
575 | Emacs 19.26 is believed to work; its pretest was tested. | |
576 | ||
577 | Compiling with the system's `cc' and CFLAGS containing `-O5' might | |
578 | fail because libXbsd isn't found. This is a compiler bug; | |
579 | re-configure Emacs so that it isn't compiled with `-O5'. | |
580 | ||
a9f66ecb EZ |
581 | On AIX 4.3.x and 4.4, compiling with /bin/c89 fails because it |
582 | treats certain warnings as errors. Use `cc' instead. | |
583 | ||
f4b79972 EZ |
584 | At last report, Emacs didn't run well on terminals. Informed |
585 | persons say that the tty VMIN and VTIME settings have been | |
586 | corrupted; if you have a fix, please send it to us. | |
587 | ||
588 | Compiling with -O using the IBM compiler has been known | |
589 | to make Emacs work incorrectly. It's reported that on | |
590 | AIX 3.2.5 with an IBM compiler earlier than 1.03.00.14, | |
591 | cc -O fails for some files. You need to install any | |
592 | PTF containing APAR #IX42810 to bring the compiler to | |
593 | the 1.03.00.14 level to allow optimized compiles. | |
594 | ||
595 | There are reports that IBM compiler versions earlier than 1.03.00.02 | |
596 | fail even without -O. However, another report said that compiler | |
597 | version 1.02.01.00 did work, on AIX 3.2.4, with Emacs 19.31. | |
598 | ||
599 | As of 19.11, if you strip the Emacs executable, it ceases to work. | |
600 | ||
601 | If you are using AIX 3.2.3, you may get a core dump when loading | |
602 | ange-ftp. You may be able to fix the problem by defining LIBS_TERMCAP | |
603 | as -ltermcap -lcurses. Please tell us if this fails to work. | |
604 | ||
605 | If anyone can fix the above problems, or confirm that they don't happen | |
606 | with certain versions of various programs, we would appreciate it. | |
607 | ||
608 | IBM RT/PC (romp-ibm-bsd or romp-ibm-aix) | |
609 | ||
610 | Use romp-ibm-bsd for the 4.2-like system and romp-ibm-aix for AIX. | |
611 | 19.22 is reported to work under bsd. We don't know about AIX. | |
612 | ||
613 | On BSD, if you have trouble, try compiling with a different compiler. | |
614 | ||
615 | On AIX, the file /usr/lib/samples/hft/hftctl.c must be compiled into | |
616 | hftctl.o, with this result left in the src directory (hftctl.c is | |
617 | part of the standard AIX distribution). | |
618 | ||
619 | window.c must not be compiled with -O on AIX. | |
620 | ||
cc9458f7 EZ |
621 | IBM System/390 running GNU/Linux (s390-*-linux-gnu) |
622 | ||
623 | As of Emacs 21.2, a 31-bit only version is supported on this | |
624 | system. | |
625 | ||
f4b79972 EZ |
626 | Integrated Solutions `Optimum V' (m68k-isi-bsd4.2 or -bsd4.3) |
627 | ||
628 | 18.52 said to work on some sort of ISI machine. | |
629 | Version 18.45 worked (running on a Optimum V (VME bus, 68020) | |
630 | BSD 4.2 (3.05e) system). 18.42 is reported to work on | |
631 | a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster | |
632 | Compute Node' `Cluster WorkStation' or `Server Node' (Love the | |
c60ee5e7 | 633 | StudLYCaps) |
f4b79972 EZ |
634 | |
635 | Compilation with -O is rumored to break something. | |
636 | ||
637 | On recent system versions, you may need to undefine the macro UMAX | |
638 | in `lib-src/loadst.c' and `src/getpagesize.h'. They stupidly defined this | |
639 | in a system header file, which confuses Emacs (which thinks that UMAX | |
640 | indicates the Umax operating system). | |
641 | ||
642 | Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2, | |
643 | i386-*-xenix, i386-*-freebsd, i386-*-linux-gnu, | |
644 | i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv, | |
645 | i386-*-sysv4, i386-*-sysv4.2, | |
c60ee5e7 | 646 | i386-*-sysv5.3, i386-*-bsd4.2, i386-*-cygwin, |
f4b79972 EZ |
647 | i386-*-sco3.2v4, i386-*-bsd386, i386-*-386bsd, |
648 | i386-*-msdos, i386-*-windowsnt. | |
649 | i386... can be replaced with i486... or i586...) | |
650 | ||
651 | In the above configurations, * means that the manufacturer's name | |
652 | you specify does not matter, and you can use any name you like | |
653 | (but it should not contain any dashes or stars). | |
654 | ||
655 | When using the ISC configurations, be sure to specify the isc | |
656 | version number - for example, if you're running ISC 3.0, use | |
657 | i386-unknown-isc3.0 as your configuration name. | |
658 | Use i386-*-esix for Esix; Emacs runs as of version 19.6. | |
659 | Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. | |
bf247b6e | 660 | Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11 |
c60ee5e7 | 661 | and non-X11 modes. (The Cygwin site has source and binaries for 21.2.) |
f4b79972 EZ |
662 | Use i386-intsys-sysv for Integrated Solutions 386 machines. |
663 | It may also be correct for Microport systems. | |
664 | Use i386-*-sco3.2v4 for SCO 3.2v4; Emacs runs as of version 19.26. | |
665 | ||
666 | On GNU/Linux systems, Emacs 19.23 was said to work properly with libc | |
667 | version 4.5.21, but not with 4.5.19. If your system uses QMAGIC | |
668 | for the executable format, you must edit config.h to define LINUX_QMAGIC. | |
669 | ||
670 | On GNU/Linux, configure may fail to put these definitions in config.h: | |
671 | ||
672 | #define HAVE_GETTIMEOFDAY | |
673 | #define HAVE_MKDIR | |
674 | #define HAVE_RMDIR | |
675 | #define HAVE_XSCREENNUMBEROFSCREEN | |
676 | ||
677 | To work around the problem, add those definitions by hand. | |
678 | It is possible that this problem happens only with X11R6. | |
679 | Newer system versions have fixed it. | |
680 | ||
681 | The 19.26 pretest was reported to work on SVR4.3 and on Freebsd. | |
682 | ||
683 | 19.29 is reported to crash when using Motif on Solaris 2.5. | |
684 | The reasons are not yet known. | |
685 | ||
686 | Use i386-*-bsdiN for BSDI BSD/OS version N; Emacs runs as of version 19.23. | |
687 | In some system versions, `make' is broken; use GNU make instead. | |
688 | Shell bugs in version 1.0 of BSD/OS cause configure | |
689 | to do the wrong thing with --with-x-toolkit; the workaround is to edit | |
690 | configure to run another shell such as bash. | |
691 | ||
692 | For System V release 3, use i386-*-sysv3. | |
693 | For System V release 4, use i386-*-sysv4. | |
694 | For System V release 4.2, use i386-*-sysv4.2. | |
695 | ||
696 | If you are using Xenix, see notes at end under Xenix. | |
697 | If you are using Esix, see notes at end under Esix. | |
698 | If you are using SCO Unix, see notes at end under SCO. | |
699 | ||
700 | On 386bsd, NetBSD and FreeBSD, at one time, it was necessary to use | |
701 | GNU make, not the system's make. Assuming it's installed as gmake, | |
702 | do `gmake install MAKE=gmake'. However, more recently it is | |
703 | reported that using the system Make on NetBSD 1.3.1 works ok. | |
704 | ||
705 | If you are using System V release 4.2, you may find that `cc -E' | |
706 | puts spurious spaces in `src/xmakefile'. If that happens, | |
707 | specify CPP=/lib/cpp as an option when you run make. | |
708 | There is no problem if you compile with GCC. | |
c60ee5e7 | 709 | |
f4b79972 EZ |
710 | Note that use of Linux with GCC 2.4 and the DLL 4.4 libraries |
711 | requires the experimental "net 2" network patches (no relation to | |
712 | Berkeley Net 2). There is a report that (some version of) Linux | |
713 | requires including `/usr/src/linux/include/linux' in buffer.c | |
714 | but no coherent explanation of why that might be so. If it is so, | |
715 | in current versions of Linux, something else should probably be changed. | |
716 | ||
717 | Some sysV.3 systems seem to have bugs in `opendir'; | |
718 | for them, alter `config.h' to define NONSYSTEM_DIR_LIBRARY | |
719 | and undefine SYSV_SYSTEM_DIR. | |
720 | ||
721 | If you use optimization on V.3, you may need the option -W2,'-y 0' | |
722 | to prevent certain faulty optimization. | |
723 | ||
724 | On 386/ix, to link with shared libraries, add #define USG_SHARED_LIBRARIES | |
725 | to config.h. | |
726 | ||
727 | On SCO, there are problems in regexp matching when Emacs is compiled | |
728 | with the system compiler. The compiler version is "Microsoft C | |
729 | version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; | |
730 | Quick C Compiler Version 1.00.46 (Beta). The solution is to compile | |
731 | with GCC. | |
732 | ||
733 | On ISC systems (2.02 and more recent), don't try to use the versions | |
734 | of X that come with the system; use XFree86 instead. | |
735 | ||
736 | There is no consistency in the handling of certain system header files | |
737 | on V.3. | |
738 | ||
739 | Some versions have sys/sioctl.h, and require it in sysdep.c. | |
740 | But some versions do not have sys/sioctl.h. | |
741 | For a given version of the system, this may depend on whether you have | |
742 | X Windows or TCP/IP. Define or undefine NO_SIOCTL_H in config.h | |
743 | according to whether you have the file. | |
744 | ||
745 | Likewise, some versions have been known to need sys/ttold.h, sys/stream.h, | |
746 | and sys/ptem.h included in sysdep.c. If your system has these files, | |
747 | try defining NEED_PTEM_H in config.h if you have trouble without it. | |
748 | ||
749 | You may find that adding -I/usr/X/include or -I/usr/netinclude or both | |
750 | to CFLAGS avoids compilation errors on certain systems. | |
751 | ||
752 | Some versions convince sysdep.c to try to use `struct tchars' | |
753 | but define `struct tc' instead; add `#define tchars tc' | |
754 | to config.h to solve this problem. | |
755 | ||
756 | Iris 2500 and Iris 2500 Turbo (m68k-sgi-iris3.5 or m68k-sgi-iris3.6) | |
757 | ||
758 | Version 18 was said to work; use m68k-sgi-iris3.5 for system version 2.5 | |
759 | and m68k-sgi-iris3.6 for system version 3.6. | |
760 | Note that the 3030 is the same as the Iris 2500 Turbo. | |
761 | ||
762 | Iris 4D (mips-sgi-irix[456].*) | |
763 | ||
17ce526b RS |
764 | Emacs 21.3 is reported to work on IRIX 6.5.x. |
765 | ||
f4b79972 EZ |
766 | You can build a 64-bit executable (with larger maximum buffer size) |
767 | on Irix 6.5 by specifying the 64-bit ABI using the `-64' compiler | |
768 | flag or otherwise (see cc(1)). This may work on earlier Irix 6 | |
769 | systems if you edit src/s/irix6-0.h following irix6-5.h. | |
770 | ||
771 | If compiling with GCC on Irix 6 yields an error "conflicting types | |
772 | for `initstate'", install GCC 2.95 or a newer version, and this | |
773 | problem should go away. It is possible that this problem results | |
774 | from upgrading the operating system without reinstalling GCC; so you | |
775 | could also try reinstalling the same version of GCC, and telling us | |
776 | whether that fixes the problem. | |
777 | ||
f4b79972 EZ |
778 | Masscomp (m68k-masscomp-rtu) |
779 | ||
780 | 18.36 worked on a 5500DP running RTU v3.1a and compiler version 3.2 | |
781 | with minor fixes that are included in 18.37. However, bizarre behavior | |
782 | was reported for 18.36 on a Masscomp (model and version unknown but probably | |
783 | a 68020 system). The report sounds like a compiler bug. | |
784 | ||
c60ee5e7 | 785 | A compiler bug affecting statements like |
f4b79972 EZ |
786 | unsigned char k; unsigned char *p;... x = p[k]; |
787 | has been reported for "C version 1.2 under RTU 3.1". We do not wish | |
788 | to take the time to install the numerous workarounds required to | |
789 | compensate for this bug. | |
790 | ||
791 | For RTU version 3.1, define FIRST_PTY_LETTER to be 'p' in `src/s/rtu.h' | |
792 | (or #undef and redefine it in config.h) so that ptys will be used. | |
793 | ||
794 | GNU Emacs is said to have no chance of compiling on RTU versions | |
795 | prior to v3.0. | |
796 | ||
797 | Megatest (m68k-megatest-bsd) | |
798 | ||
799 | Emacs 15 worked; do not have any reports about Emacs 16 or 17 | |
800 | but any new bugs are probably not difficult. | |
801 | ||
802 | Mips (mips-mips-riscos, mips-mips-riscos4.0, or mips-mips-bsd) | |
803 | ||
804 | The C compiler on Riscos 4.51 dumps core trying to optimize | |
805 | parts of Emacs. Try without optimization or try GCC. | |
806 | ||
807 | Meanwhile, the linker on that system returns success even if | |
808 | there are undefined symbols; as a result, configure gets the | |
809 | wrong answers to various questions. No work-around is known | |
810 | except to edit src/config.h by hand to indicate which functions | |
811 | don't exist. | |
812 | ||
813 | Use mips-mips-riscos4.0 for RISCOS version 4. | |
814 | Use mips-mips-bsd with the BSD world. | |
815 | ||
816 | Note that the proper configuration names for DECstations are | |
817 | mips-dec-ultrix and mips-dec-osf. | |
818 | ||
819 | If you are compiling with GCC, then you must run fixincludes; | |
820 | the alternative of using -traditional won't work because | |
821 | the definition of SIGN_EXTEND_CHAR uses the keyword `signed'. | |
822 | ||
823 | If the SYSV world is the default, then you probably need the following | |
824 | line in etc/Makefile: | |
825 | ||
826 | CFLAGS= -g -systype bsd43 | |
827 | ||
828 | Some operating systems on MIPS machines give SIGTRAP for division by | |
829 | zero instead of the usual signals. The only real solution is to fix | |
830 | the system to give a proper signal. | |
831 | ||
832 | In the meantime, you can change init_data in data.c if you wish. | |
833 | Change it to handle SIGTRAP as well as SIGFPE. But this will have a | |
834 | great disadvantage: you will not be able to run Emacs under a | |
835 | debugger. I think crashing on division by zero is a lesser problem. | |
836 | ||
837 | dsg@mitre.org reported needing to use --x-libraries=/bsd43/usr/lib | |
838 | on a riscos4bsd site. But it is not clear whether this is needed in | |
839 | general or only because of quirks on a particular site. | |
840 | ||
841 | National Semiconductor 32000 (ns32k-ns-genix) | |
842 | ||
843 | This is for a complete machine from National Semiconductor, | |
844 | running Genix. Changes merged in version 19. | |
845 | ||
846 | NCR Tower 32 (m68k-ncr-sysv2 or m68k-ncr-sysv3) | |
847 | ||
848 | If you are running System V release 2, use m68k-ncr-sysv2. | |
849 | If you are running System V release 3, use m68k-ncr-sysv3. | |
850 | ||
851 | These both worked as of 18.56. If you change `src/ymakefile' so that | |
852 | CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, check | |
853 | out the comments in `src/m/tower32.h' (for System V release 2) or | |
854 | `src/m/tower32v3.h' (for System V release 3) about this. | |
855 | ||
856 | There is a report that compilation with -O did not work with 18.54 | |
857 | under System V release 2. | |
858 | ||
859 | NCR Intel system (i386-ncr-sysv4.2) | |
860 | ||
861 | This system works in 19.31, but if you don't link it with GNU ld, | |
862 | you may need to set LD_RUN_PATH at link time to specify where | |
863 | to find the X libraries. | |
864 | ||
865 | NEC EWS4800 (mips-nec-sysv4) | |
866 | ||
867 | This system works in 20.4, but you should use the compiler | |
868 | /usr/abiccs/bin/cc (MIPS ABI MODE). | |
869 | ||
870 | NeXT (m68k-next-nextstep) | |
871 | ||
872 | Emacs 19 has not been tested extensively yet, but it seems to work | |
873 | in a NeXTStep 3.0 terminal window, and under the X server called | |
874 | co-Xist. You may need to specify -traditional when src/Makefile | |
875 | builds xmakefile. | |
876 | ||
877 | NeXT users might want to implement direct operation with NeXTStep, | |
878 | but from the point of view of the GNU project, that is a | |
879 | distraction. | |
880 | ||
881 | Thanks to Thorsten Ohl for working on the NeXT port of Emacs 19. | |
882 | ||
883 | Nixdorf Targon 31 (m68k-nixdorf-sysv) | |
884 | ||
885 | Machine description file for version 17 is included in 18 | |
886 | but whether it works is not known. | |
887 | `src/unexec.c' bombs if compiled with -O. | |
888 | Note that the "Targon 35" is really a Pyramid. | |
889 | ||
890 | Nu (TI or LMI) (m68k-nu-sysv) | |
891 | ||
892 | Version 18 is believed to work. | |
893 | ||
894 | Paragon OSF/1 (i860-intel-osf1) | |
895 | ||
896 | Changes merged in 19.29. | |
897 | ||
898 | There is a bug in OSF/1 make which claims there is a syntax error | |
899 | in the src/xmakefile. You can successfully build emacs with: | |
900 | ||
901 | pmake MAKE=pmake | |
902 | ||
903 | Plexus (m68k-plexus-sysv) | |
904 | ||
905 | Worked as of 17.56. | |
906 | ||
907 | Pmax (DEC Mips) (mips-dec-ultrix or mips-dec-osf1) | |
908 | ||
909 | See under DECstation, above. | |
910 | ||
911 | Prime EXL (i386-prime-sysv) | |
912 | ||
913 | Minor changes merged in 19.1. | |
914 | ||
915 | Pyramid (pyramid-pyramid-bsd) | |
916 | ||
917 | The 19.26 pretest was observed to work on OSx 5.0, but it is necessary | |
918 | to edit gmalloc.c. You must add #include <sys/types.h> at the top, | |
919 | and delete the #define for size_t. | |
920 | ||
921 | You need to build Emacs in the Berkeley universe with | |
922 | the `ucb' command, as in `ucb make' or `ucb build-install'. | |
c60ee5e7 | 923 | |
f4b79972 EZ |
924 | In OSx 4.0, it seems necessary to add the following two lines |
925 | to `src/m/pyramid.h': | |
926 | #define _longjmp longjmp | |
927 | #define _setjmp setjmp | |
928 | ||
929 | In Pyramid system 2.5 there has been a compiler bug making | |
930 | Emacs crash just after screen-splitting with Qnil containing 0. | |
931 | A compiler that fixes this is Pyramid customer number 8494, | |
932 | internal number 1923. | |
933 | ||
934 | Some versions of the pyramid compiler get fatal | |
935 | errors when the -gx compiler switch is used; if this | |
936 | happens to you, change `src/m/pyramid.h' to define | |
937 | C_DEBUG_SWITCH with an empty definition. | |
938 | ||
939 | Some old system versions may require you to define PYRAMID_OLD | |
940 | in when alloca.s is preprocessed, in order to define _longjmp and _setjmp. | |
941 | ||
942 | Sequent Balance (ns32k-sequent-bsd4.2 or ns32k-sequent-bsd4.3) | |
943 | ||
944 | Emacs 18.51 worked on system version 3.0. 18.52 is said to work. | |
945 | Delete some lines at the end of `src/m/sequent.h' for earlier system | |
946 | versions. | |
947 | ||
948 | Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4) | |
949 | ||
950 | 19.33 has changes to support ptx 4 (a modified SVR4). | |
951 | ||
952 | Emacs 19 should work on Dynix (BSD). However, if you compile with | |
953 | the Sequent compiler, you may find Emacs does not restore the | |
954 | terminal settings on exit. If this happens, compile with GCC. | |
955 | ||
956 | Emacs 19.27 contains patches that should support | |
957 | DYNIX/ptx 1.4 and 2.1 with the native cc compiler. | |
958 | ||
959 | GCC can't compile src/process.c due to a non-standard Sequent asm | |
960 | keyword extension supported by cc and used for the network byte/word | |
961 | swapping functions in the PTX /usr/include/netinet/in.h file. GCC | |
962 | 2.5.8 includes the file <sys/byteorder.h> which can be included into | |
963 | netinet/in.h to perform these byte/word swapping functions in the | |
964 | same manner. Patches have been submitted to the FSF against GCC | |
965 | 2.6.0 to fix this problem and allow Emacs to be built with GCC. | |
966 | ||
967 | If your machine does not have TCP/IP installed, you will have to edit the | |
968 | src/s/ptx.h file and comment out #define TCPIP_INSTALLED. | |
969 | ||
970 | Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) | |
971 | ||
972 | Changes merged in 19.29. This configuration should also work for | |
973 | Pyramid MIS Server running DC-OSX 1.x. The version configured with | |
974 | `--with-x' works without any modifications, but `--with-x-toolkit' | |
975 | works only if the Athena library and the Toolkit library are linked | |
976 | statically. For this, edit `src/Makefile' after the `configure' run | |
977 | and modify the lines with `-lXaw' and `-lXt' as follows: | |
978 | ||
979 | LIBW= /usr/lib/libXaw.a | |
980 | LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext | |
981 | ||
982 | In addition, `--with-x-toolkit=motif' works only | |
983 | if the Motif library and the Toolkit library are linked statically. | |
984 | To do this, edit `src/Makefile' after the `configure' run | |
985 | and modify the lines with `-lXm' and `-lXt' as follows: | |
986 | ||
987 | LIBW= /usr/lib/libXm.a /usr/ccs/lib/libgen.a | |
988 | LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext | |
989 | ||
990 | SONY News (m68k-sony-bsd4.2 or m68k-sony-bsd4.3) | |
991 | ||
992 | 18.52 worked. Use m68k-sony-bsd4.3 for system release 3. | |
993 | ||
994 | SONY News 3000 series (RISC NEWS) (mips-sony-bsd) | |
995 | ||
996 | The 19.26 pretest is reported to work. | |
997 | ||
998 | Some versions of the operating system give SIGTRAP for division by zero | |
999 | instead of the usual signals. This causes division by zero | |
1000 | to make Emacs crash. The system should be fixed to give the proper signal. | |
1001 | Changing Emacs is not a proper solution, because it would prevent | |
1002 | Emacs from working under any debugger. But you can change init_data | |
1003 | in data.c if you wish. | |
1004 | ||
1005 | Stardent i860 (i860-stardent-sysv4.0) | |
1006 | ||
1007 | 19.26 pretest reported to work. | |
1008 | ||
1009 | Stardent 1500 or 3000 | |
1010 | ||
1011 | See Titan. | |
1012 | ||
1013 | Stride (m68k-stride-sysv) | |
1014 | ||
1015 | Works (most recent news for 18.30) on their release 2.0. | |
1016 | For release 2.2, see the end of `src/m/stride.h'. | |
1017 | It may be possible to run on their V.1 system but changes | |
1018 | in the s- file would be needed. | |
1019 | ||
1020 | Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos, | |
1021 | sparc-sun-sunos4.1.3noshr, sparc-sun-solaris2.*, | |
1022 | i386-sun-solaris2.*, sparc*-*-linux-gnu) | |
1023 | ||
1024 | To build a 64-bit Emacs (with larger maximum buffer size and | |
1025 | including large file support) on a Solaris system which supports | |
1026 | 64-bit executables, use the Sun compiler, configuring something like | |
1027 | this (see the cc documentation for information on 64-bit | |
1028 | compilation): env CC="cc -xarch=v9" ./configure | |
1029 | ||
1030 | As of version 2.95, GCC doesn't support the 64-bit ABI properly, but | |
1031 | later releases may. | |
1032 | ||
1ebfc51b EZ |
1033 | Some versions of Solaris 8 have a bug in their XIM (X Input Method) |
1034 | implementation which causes Emacs to dump core when one of several | |
1035 | frames is closed. To avoid this, either install patch 108773-12 | |
1036 | (for Sparc) or 108874-12 (for x86), or configure Emacs with the | |
1037 | `--with-xim=no' switch (you can use Leim input methods instead). | |
1038 | ||
f4b79972 EZ |
1039 | On Solaris 2.7, building Emacs with WorkShop Compilers 5.0 98/12/15 |
1040 | C 5.0 failed, apparently with non-default CFLAGS, most probably due to | |
1041 | compiler bugs. Using Sun Solaris 2.7 Sun WorkShop 6 update 1 C | |
1042 | release was reported to work without problems. It worked OK on | |
1043 | another system with Solaris 8 using apparently the same 5.0 compiler | |
1044 | and the default CFLAGS. | |
1045 | ||
9b4505aa EZ |
1046 | Emacs 21.1 and 21.2 built with Sun's ProWorks PC3.0.1 compiler on |
1047 | Intel/Solaris 8 was reported to abort and dump core during startup. | |
1048 | Using GCC or a newer SUN compiler (Sun WokShop 6 update 2 C 5.3 | |
1049 | 2001/05/15) solves the problem. | |
1050 | ||
f4b79972 EZ |
1051 | Emacs 20.5 and later work on SPARC GNU/Linux with the 32-bit ABI. |
1052 | As of release 2.95, GCC doesn't work properly with the 64-bit ABI | |
1053 | (applicable on UltraSPARC), but that isn't the default mode. | |
1054 | ||
1055 | Emacs 20.3 fails to build on Solaris 2.5 if you use GCC 2.7.2.3. | |
1056 | Installing GCC 2.8 fixes the problem. | |
1057 | ||
1058 | 19.32 works on Solaris 2.4 and 2.5. On Solaris 2.5 | |
1059 | you may need one of these patches to prevent Emacs from crashing | |
1060 | when it starts up: | |
c60ee5e7 JB |
1061 | 103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes) |
1062 | 102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes) | |
f4b79972 EZ |
1063 | 103242-04: [README] SunOS 5.5: linker patch (595363 bytes) |
1064 | ||
1065 | There are reports that using SunSoft cc with -xO4 -xdepend produces | |
1066 | bad code for some part of Emacs. | |
1067 | ||
1068 | Emacs works ok Sunos 4.1.x | |
1069 | provided you completely replace your C shared library | |
1070 | using one of the SunOS 4.1.x jumbo replacement patches from Sun. | |
1071 | Here are the patch numbers for Sunos 4.1.3: | |
1072 | 100890-10 SunOS 4.1.3: domestic libc jumbo patch | |
1073 | 100891-10 SunOS 4.1.3: international libc jumbo patch | |
1074 | ||
1075 | Some people report that Emacs crashes immediately on startup when | |
1076 | used with a non-X terminal, but we think this is due to compiling | |
1077 | with GCC and failing to use GCC's "fixed" system header files. | |
1078 | ||
1079 | Some Sun versions of X windows use the clipboard, not the selections, | |
1080 | for transferring text between clients. The Cut, Paste and Copy items | |
1081 | in the menu bar Edit menu work with the clipboard. | |
1082 | ||
1083 | It's important to include the SunOS version number in the | |
1084 | configuration name. For example, for SunOS release 4.0 on a Sun 3, | |
1085 | use `m68k-sun-sunos4.0'; for SunOS release 4.1 on a Sparc, use | |
1086 | `sparc-sun-sunos4.1'. For SunOS release 4.1.3 on a Sparc, use | |
1087 | `sparc-sun-sunos4.1.3'. Note that shared libraries are now | |
1088 | used by default on SunOS 4.1. | |
c60ee5e7 | 1089 | |
f4b79972 EZ |
1090 | A user reported irreproducible segmentation faults when using 19.29 |
1091 | on Solaris 2.3 and 2.4 after compiling it with the Sun compiler. | |
1092 | The problem went away when GCC 2.7.0 was used instead. We do not know | |
1093 | whether anything in Emacs is partly to blame for this. | |
1094 | ||
1095 | X11R6 is set up to make shared libraries only, on Sunos 4. | |
1096 | Therefore, in order to link Emacs, you need to create static X libraries. | |
1097 | To do this, rebuild X11 after setting | |
1098 | #define ForceNormalLib YES | |
1099 | #define SeparateSharedCompile YES | |
1100 | in site.def (after #ifdef AfterVendorCF). | |
1101 | ||
1102 | Use `m68k' for the 68000-based Sun boxes, `sparc' for Sparcstations, | |
1103 | and `i386' for Sun Roadrunners. i386 calls for Sunos4.0. | |
1104 | ||
1105 | If you compile with Sun's ANSI compiler acc, you need additional options | |
1106 | when linking temacs, such as | |
1107 | /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 | |
1108 | (those should be added just before the libraries) and you need to | |
1109 | add -lansi just before -lc. The precise file names depend on the | |
1110 | compiler version, so we cannot easily arrange to supply them. | |
1111 | ||
1112 | On SunOS 4.1.1, do not use /usr/5bin/cc. You can use gcc or/usr/bin/cc. | |
1113 | Make sure the environment variable LD_LIBRARY_PATH is not defined. | |
1114 | ||
1115 | Some people report crashes on SunOS 4.1.3 if SYSTEM_MALLOC is defined. | |
1116 | Others have reported that Emacs works if SYSTEM_MALLOC is defined, and not | |
1117 | if it is undefined. So far we do not know why results vary in this way. | |
1118 | The sources are set up so that SYSTEM_MALLOC is defined; if that crashes, | |
1119 | or if you want the benefit of the relocating memory allocator, you can | |
1120 | try enabling the #undef SYSTEM_MALLOC in src/s/sunos4-1-3.h. | |
1121 | ||
1122 | On Solaris 2, you need to install patch 100947-02 to fix a system bug. | |
1123 | Presumably this patch comes from Sun. You must alter the definition of | |
1124 | LD_SWITCH_SYSTEM if your X11 libraries are not in /usr/openwin/lib. | |
1125 | You must make sure that /usr/ucblib is not in your LD_LIBRARY_PATH. | |
1126 | ||
1127 | On Solaris 2.2, with a multiprocessor SparcCenter 1000, Emacs 19.17 is | |
1128 | reported to hang sometimes if it exits while it has one or more | |
1129 | subprocesses (e.g. the `wakeup' subprocess used by `display-time'). | |
1130 | Emacs and its subprocesses become zombies, and in their zombie state | |
1131 | slow down their host and disable rlogin and telnet. This is most | |
1132 | likely due to a bug in Solaris 2.2's multiprocessor support, | |
1133 | rather than an Emacs bug. | |
1134 | ||
1135 | On Solaris, do not use /usr/ucb/cc. Use /opt/SUNWspro/bin/cc. Make | |
1136 | sure that /usr/ccs/bin and /opt/SUNWspro/bin are in your PATH before | |
1137 | /usr/ucb. (Most free software packages have the same requirement on | |
1138 | Solaris.) | |
1139 | ||
1140 | If you have trouble using open-network-stream, get the distribution | |
1141 | of `bind' (the BSD name-server), build libresolv.a, and link Emacs | |
1142 | with -lresolv, by copying the #definition of LIBS_SYSTEM in | |
1143 | src/s/sunos4-1.h to src/config.h. This problem is due to obsolete | |
1144 | software in the nonshared standard library. | |
1145 | ||
1146 | If you want to use SunWindows, define HAVE_SUN_WINDOWS | |
1147 | in config.h to enable a special interface called `emacstool'. | |
1148 | The definition must *precede* the #include "machine.h". | |
1149 | System version 3.2 is required for this facility to work. | |
1150 | ||
1151 | We recommend that you instead use the X window system, which | |
1152 | has technical advantages, is an industry standard, and is also | |
1153 | free software. The FSF does not support the SunWindows code; | |
1154 | we installed it only on the understanding we would not let it | |
1155 | divert our efforts from what we think is important. | |
1156 | ||
1157 | If you are compiling for X windows, and the X window library was | |
1158 | compiled to use the 68881, then you must edit config.h according | |
1159 | the comments at the end of `src/m/sun3.h'. | |
1160 | ||
1161 | Note that Emacs on a Sun is not really as big as it looks. | |
1162 | As dumped, it includes around 200k of zeros between the | |
1163 | original text section and the original data section | |
1164 | (now remapped as part of the text). These are never | |
1165 | swapped in. | |
1166 | ||
1167 | To build a single Emacs that will run on Sun 2 and Sun 3 | |
1168 | HARDWARE, just build it on the Sun 2. | |
1169 | ||
1170 | On Sunos 4.1.3, the word is that Emacs can loop infinitely | |
1171 | on startup with X due perhaps to a bug in Sunos. Installing all of | |
1172 | these Sun patches fixes the problem. We don't know which of them | |
1173 | are really relevant. | |
1174 | ||
1175 | 100075-11 100224-06 100347-03 100482-05 100557-02 100623-03 100804-03 | |
1176 | 101080-01 100103-12 100249-09 100496-02 100564-07 100630-02 100891-10 | |
1177 | 101134-01 100170-09 100296-04 100377-09 100507-04 100567-04 100650-02 | |
1178 | 101070-01 101145-01 100173-10 100305-15 100383-06 100513-04 100570-05 | |
1179 | 100689-01 101071-03 101200-02 100178-09 100338-05 100421-03 100536-02 | |
1180 | 100584-05 100784-01 101072-01 101207-01 | |
1181 | ||
1182 | Tadpole 68K (m68k-tadpole-sysv) | |
1183 | ||
1184 | Changes merged in 19.1. | |
1185 | ||
1186 | You may need to edit Makefile to change the variables LIBDIR and | |
1187 | BINDIR from /usr/local to /usr/contrib. | |
1188 | ||
1189 | To give movemail access to /usr/mail, you may need to execute | |
1190 | ||
1191 | chmod 2755 etc/movemail; chgrp mail etc/movemail | |
1192 | ||
1193 | Tahoe (tahoe-tahoe-bsd4.2 or tahoe-tahoe-bsd4.3) | |
1194 | ||
1195 | 18.52 was known to work on some Tahoes, but a compiler bug intervenes | |
1196 | on others. Some Emacs versions have worked in Unisys 1r4 | |
1197 | (not in 1r3) and CCI I.21. | |
1198 | ||
1199 | If you have trouble compiling `lib-src/loadst.c', turn off the definition | |
1200 | of DKSTAT_HEADER_FILE in `src/m/tahoe.h'. | |
1201 | ||
1202 | Tandem Integrity S2 (mips-tandem-sysv) | |
1203 | ||
1204 | Changes merged in 18.56 but subprocess support is turned off. | |
1205 | You will probably want to see if you can make subprocesses work. | |
1206 | ||
1207 | You must edit `lib-src/Makefile' to define LOADLIBES = -mld. | |
1208 | ||
1209 | Tektronix XD88 (m88k-tektronix-sysv3*) | |
1210 | ||
1211 | The 19.26 pretest was reported to work. | |
1212 | Minor changes merged in 19.19. | |
1213 | ||
1214 | Tektronix 16000 box (6130?) (ns16k-tektronix-bsd) | |
1215 | ||
1216 | Emacs 17.61 worked. | |
1217 | ||
1218 | Tektronix 4300 (m68k-tektronix-bsd) | |
1219 | ||
1220 | Emacs 19.26 pretest reported to work. | |
1221 | ||
1222 | Titan P2 or P3 (titan-titan-sysv) | |
1223 | ||
1224 | Changes probably merged in version 19. | |
1225 | ||
1226 | Ustation E30 (SS5E) (m68k-unisys-unipl) | |
1227 | ||
1228 | Changes merged in 18.52; don't know whether they work. | |
1229 | ||
1230 | Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3), | |
1231 | Ultrix (vax-dec-ultrix), | |
1232 | System V (vax-dec-sysv0, vax-dec-sysv2), or | |
1233 | VMS (vax-dec-vms) | |
1234 | ||
1235 | Works. | |
1236 | ||
1237 | See under Ultrix for problems using X windows on Ultrix (vax-dec-ultrix). | |
1238 | ||
1239 | 18.27 worked on System V rel 2 (vax-dec-sysv2). | |
1240 | ||
1241 | 18.36 worked on System V rel 0 (vax-dec-sysv0). | |
1242 | ||
1243 | Richard Levitte <levitte@e.kth.se> distributes a set of patches to | |
1244 | Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably | |
1245 | won't work very well, or even compile. Levitte is working on a | |
1246 | port, so these problems should be fixed in the near future. | |
1247 | ||
1248 | Whitechapel MG1 (ns16k-whitechapel-?) | |
1249 | ||
1250 | May work. Supposedly no changes were needed except in `src/m/mg1.h' | |
1251 | file. I do not know what Unix version runs on them. | |
1252 | ||
1253 | Wicat (m68k-wicat-sysv) | |
1254 | ||
1255 | Changes merged as of 18.6; whether they work is unknown. | |
1256 | See comments in `src/m/wicat.h' for things you should change | |
1257 | depending on the system and compiler version you have. | |
1258 | \f | |
1259 | Here are notes about some of the systems supported: | |
1260 | ||
1261 | Berkeley 4.1 (bsd4.1) | |
1262 | ||
1263 | Works on vaxes. | |
1264 | ||
1265 | Berkeley 4.2 (bsd4.2) | |
1266 | ||
1267 | Works on several machines. | |
1268 | ||
1269 | Berkeley 4.3 (bsd4.3) | |
1270 | ||
1271 | Works, on Vaxes at least. | |
1272 | ||
1273 | Esix | |
1274 | ||
1275 | The following was written for Emacs 18.59 and has been | |
1276 | slightly adapted for Emacs 19. It may need more change to be correct. | |
1277 | ||
1278 | Use s/usg5-4.h for Esix System V 4.0.[34] systems if you also have | |
1279 | XFree86. If you insist on using the Esix X Window libraries, good | |
1280 | luck. s/esix5r4.h provides a starting point, but doesn't seem to | |
1281 | work consistently. The basic problems involve the need to load | |
1282 | -lX11 *last* in the link command, and even then some things break. | |
1283 | You get best results by installing XFree86 and forgetting about the | |
1284 | Esix stuff unless you want to run IXI xdt3, which really only needs | |
1285 | the Esix X11 shared libraries. | |
1286 | ||
1287 | To compile with XFree86, make sure that your LD_LIBRARY_PATH | |
1288 | contains /usr/X386/lib. Be careful if you also have the Esix X | |
1289 | Window libraries that /usr/X386/lib appears *first* in the | |
1290 | LD_LIBRARY_PATH. Then define C_SWITCH_X_SYSTEM -I/usr/X386/include. | |
1291 | ||
1292 | Linux (actually GNU/Linux) | |
1293 | ||
1294 | Most of the complete systems which use the Linux kernel are close | |
1295 | enough to the GNU system to be considered variant GNU systems. We | |
1296 | call them "Linux-based GNU systems," or GNU/Linux for short. | |
1297 | ||
1298 | It is not coincidence that many of the other components used with | |
1299 | Linux--including GNU Emacs--were developed specifically for the GNU | |
1300 | project. The GNU project was launched in 1984 to develop a free | |
1301 | complete Unix-like operating system. To reach this goal, we had to | |
1302 | develop whatever system components were not available as freely | |
1303 | redistributable software from some other source. | |
1304 | ||
1305 | The GNU project wants users of GNU/Linux systems to be aware of how | |
1306 | these systems relate to the GNU project, because that will help | |
1307 | spread the GNU idea that software should be free--and thus encourage | |
1308 | people to write more free software. See the file LINUX-GNU in this | |
1309 | directory for more explanation. | |
1310 | ||
1311 | Microport | |
1312 | ||
1313 | See under "Intel 386". | |
1314 | ||
1315 | MSDOS | |
1316 | ||
1317 | For installation on MSDOS, see the file INSTALL (search for `MSDOG', | |
1318 | near the end of the file). See the "MS-DOS" chapter of the manual | |
1319 | for information about using Emacs on MSDOS. | |
1320 | ||
1321 | SCO Unix | |
1322 | If you have TCP but not X, you need to edit src/s/sco4.h | |
1323 | to define HAVE_SOCKETS. | |
1324 | ||
1325 | If you are using MMDF instead of sendmail, you need to remove | |
1326 | /usr/lib/sendmail or modify lisp/paths.el before compiling. | |
1327 | lisp/paths.el (which is loaded during the build) will attempt to use | |
1328 | sendmail if it exists. | |
1329 | ||
1330 | If you are using SMAIL, you need to define the macro | |
1331 | SMAIL in config.h. | |
1332 | ||
1333 | System V rel 0 (usg5.0) | |
1334 | ||
1335 | Works, on Vaxes and 3bxxx's. | |
1336 | There are some problems in 18.37 due to shortnames/cccp problems: | |
1337 | use the emacs 17 cpp if you have it. | |
1338 | ||
1339 | System V rel 2 (usg5.2) | |
1340 | ||
1341 | Works on various machines. | |
1342 | On some (maybe all) machines the library -lPW exists and contains | |
1343 | a version of `alloca'. On these machines, to use it, put | |
1344 | #define HAVE_ALLOCA | |
1345 | #define LIB_STANDARD -lPW -lc | |
1346 | in the `src/m/MACHINENAME.h' file for the machine. | |
1347 | ||
1348 | If you find that the character Meta-DEL makes Emacs crash, | |
1349 | find where function init_sys_modes in sysdep.c sets sg.c_cc[VQUIT] | |
1350 | and make it store 7 there. I have as yet no evidence of whether | |
1351 | this problem, known in HP/UX, exists in other system V versions. | |
1352 | ||
1353 | System V rel 2.2 (usg5.2.2) | |
1354 | ||
1355 | In 5.2.2 AT&T undid, incompatibly, their previous incompatible | |
1356 | change to the way the nlist library is called. A different s- file | |
1357 | is used to enable the other interface. | |
1358 | ||
1359 | They call themselves the right choice--can't they choose? | |
1360 | ||
1361 | Emacs version 18 unexec is currently not working properly | |
1362 | on 5.2.2. Nobody knows why yet. A workaround is to define | |
1363 | NO_REMAP. It is not yet known whether this applies to all | |
1364 | machines running 5.2.2. | |
1365 | ||
1366 | System V rel 3 (usg5.3) | |
1367 | ||
1368 | Some versions of this system support ptys and BSD-style sockets. | |
1369 | On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h. | |
1370 | ||
1371 | If you want to link Emacs with shared libraries, define | |
1372 | USG_SHARED_LIBRARIES. | |
1373 | ||
1374 | You may have to add ANSI idempotence #-lines to your sys/types.h | |
1375 | file to get Emacs to compile correctly. This may be necessary on | |
1376 | other pre-ANSI systems as well. | |
1377 | ||
1378 | On an AT&T 6386WGS using System V Release 3.2 and X11R3, the X support | |
1379 | cannot be made to work. Whether or not the GNU relocating malloc is | |
1380 | used, the symptom is that the first call Emacs makes to sbrk(0) returns | |
1381 | (char *)-1. Sorry, you're stuck with character-only mode. Try | |
1382 | installing Xfree86 to fix this. | |
1383 | ||
1384 | System V rel 4.0.3 and 4.0.4 (usg5.4) | |
1385 | ||
1386 | Supported, including shared libraries for ELF, but ptys do not work | |
1387 | because TIOCGPGRP fails to work on ptys (but Dell 2.2 seems to have | |
1388 | fixed this). This failure is probably due to a misunderstanding of | |
1389 | the consequences of the POSIX spec: many system designers mistakenly | |
1390 | think that POSIX requires this feature to fail. This is untrue; | |
1391 | ptys are an extension, and POSIX says that extensions *when used* | |
1392 | may change the action of standard facilities in any fashion. | |
1393 | ||
1394 | If you get compilation errors about wrong number of | |
1395 | arguments to getpgrp, define GETPGRP_NO_ARG. | |
1396 | ||
1397 | The standard C preprocessor may generate xmakefile incorrectly. However, | |
1398 | /lib/cpp will work, so use `make CPP=/lib/cpp'. Standard cpp | |
1399 | seems to work OK under Dell 2.2. | |
1400 | ||
1401 | Some versions 3 and earlier of V.4, on the Intel 386 and 860, had | |
1402 | problems in the X11 libraries. These prevent Emacs from working | |
1403 | with X. You can use Emacs with X provided your copy of X is based | |
1404 | on X11 release 4 or newer, or is Dell's 2.2 (which is a 4.0.3). | |
1405 | Unfortunately, the only way you can tell whether your X11 library is | |
1406 | new enough is to try compiling Emacs to use X. If emacs runs, your | |
1407 | X11 library is new enough. | |
1408 | ||
1409 | In this context, GSV4 and GSV4i are alternate names for X11R4. | |
1410 | OL2.* is X11R3 based. OL3 is in between X11R3 and X11R4, and may or | |
1411 | may not work, depending on who made the Unix system. If the library | |
1412 | libXol is part of the X distribution, then you have X11R3 and Emacs | |
1413 | won't work with X. | |
1414 | ||
1415 | Most versions of V.4 support sockets. If `/usr/lib/libsocket.so' | |
1416 | exists, your system supports them. If yours does not, you must add | |
1417 | #undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h. | |
1418 | (Any system that supports Internet should implement sockets.) | |
1419 | ||
1420 | Ultrix (bsd4.3) | |
1421 | ||
1422 | Recent versions of Ultrix appear to support the features of Berkeley 4.3. | |
1423 | Ultrix was at the BSD 4.2 level for a long time after BSD 4.3 came out. | |
1424 | ||
1425 | Ultrix 3.0 has incompatibilities in its X library if you have the | |
1426 | Ultrix version of X (UWS version 2.0). To solve them, you need to | |
1427 | prevent XvmsAlloc.o in Xlib from being used. Israel Pinkas says: | |
1428 | ||
1429 | I added the following lines to config.h after the X defines: | |
1430 | ||
1431 | #if defined(ultrix) && defined(X11) | |
1432 | #define OBJECTS_SYSTEM calloc.o | |
1433 | #endif | |
1434 | ||
1435 | Then I ran the following: | |
1436 | ||
1437 | ar x /usr/lib/libc.a calloc.o | |
1438 | ||
1439 | The problem is said to be gone in UWS version 2.1. | |
1440 | ||
1441 | Uniplus 5.2 (unipl5.2) | |
1442 | ||
1443 | Works, on Dual machines at least. | |
1444 | ||
1445 | VMS (vmsM.N) | |
1446 | ||
1447 | Richard Levitte <levitte@e.kth.se> distributes a set of patches to | |
1448 | Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably | |
1449 | won't work very well, or even compile. Levitte is working on a | |
1450 | port, so these problems should be fixed in the near future. | |
1451 | ||
1452 | Note that Emacs for VMS is usually distributed in a special VMS | |
1453 | distribution. See the file ../vms/VMSINSTALL for info on moving | |
1454 | Unix distributions to VMS, and other VMS-related topics. | |
1455 | ||
1456 | Windows NT/95/98/ME/2000 | |
1457 | ||
1458 | For installation on all versions of the MS-Windows platform, see the | |
1459 | file nt/INSTALL. | |
1460 | ||
1461 | Xenix (xenix) | |
1462 | ||
1463 | Should work in 18.50, but you will need to edit the files | |
1464 | `lib-src/Makefile' and `src/ymakefile' | |
1465 | (see the comments that mention "Xenix" for what to change.) | |
1466 | Compiling Emacs with -O is said not to work. | |
1467 | ||
1468 | If you want Emacs to work with Smail (installed as /usr/bin/smail) | |
1469 | then add the line #define SMAIL to config.h. | |
1470 | ||
1471 | The file etc/XENIX suggests some useful things to do to Xenix | |
1472 | to make the Emacs meta key work. | |
1473 | \f | |
1474 | Local variables: | |
1475 | mode: indented-text | |
1476 | fill-prefix: " " | |
1477 | End: | |
ab5796a9 | 1478 | |
b727702b EZ |
1479 | COPYING PERMISSIONS: |
1480 | ||
1481 | Permission is hereby granted, free of charge, to any person obtaining | |
1482 | a copy of this file, to deal in the file without restriction, including | |
1483 | without limitation the rights to use, copy, modify, merge, publish, | |
1484 | distribute, sublicense, and/or sell copies of the file, and to | |
1485 | permit persons to whom the file is furnished to do so, subject to | |
1486 | the following condition: | |
1487 | ||
1488 | The above copyright notice and this permission notice shall be | |
1489 | included in all copies or substantial portions of the file. | |
1490 | ||
c8aeb93e | 1491 | |
ab5796a9 | 1492 | arch-tag: 7d2e93c7-e982-40ec-9055-3cd064042473 |