Mercurial > hg > xemacs-beta
comparison PROBLEMS @ 845:77624ff6e2da
[xemacs-hg @ 2002-05-16 15:11:22 by stephent]
docs <87d6vwrv2k.fsf@tleepslib.sk.tsukuba.ac.jp>
| author | stephent |
|---|---|
| date | Thu, 16 May 2002 15:11:23 +0000 |
| parents | e7ad6587a7a0 |
| children | 52c2a7139db0 |
comparison
equal
deleted
inserted
replaced
| 844:047d37eb70d7 | 845:77624ff6e2da |
|---|---|
| 1335 compatible include files into the compilation. In particular this | 1335 compatible include files into the compilation. In particular this |
| 1336 affected virtually all ioctl() calls. | 1336 affected virtually all ioctl() calls. |
| 1337 | 1337 |
| 1338 | 1338 |
| 1339 ** Linux | 1339 ** Linux |
| 1340 *** Mandrake | 1340 *** XEmacs crashes on startup, in make-frame. |
| 1341 | 1341 |
| 1342 The Mandrake Linux distribution is attempting to comprehensively | 1342 Typically the Lisp backtrace includes |
| 1343 update the user interface, and make it consistent across | 1343 |
| 1344 applications. This is very difficult, and will occasionally cause | 1344 make-frame(nil #<x-device on ":0.0" 0x2558>) |
| 1345 conflicts with applications like Emacs with their own long-established | 1345 |
| 1346 interfaces. Known issues specific to Mandrake or especially common: | 1346 somewhere near the top. The problem is due to an improvement in GNU |
| 1347 | 1347 ld that sorts the ELF reloc sections in the executable, giving |
| 1348 Some versions of XEmacs (21.1.9 is known) distributed with Mandrake | 1348 dramatic speedups in startup for large executables. It also confuses |
| 1349 were patched to make the Meta and Alt keysyms synonymous. These | 1349 the traditional unexec code in XEmacs, leading to the core dump. The |
| 1350 normally work as expected in the Mandrake environment. However, | 1350 solution is to use the --pdump or --ldflags='-z nocombreloc' options |
| 1351 custom-built XEmacsen (including all 21.2 betas) will "inexplicably" | 1351 to configure. Recent 21.4 and 12.5 autodetect this in configure. |
| 1352 not respect the "Alt-invokes-Meta-commands" convention. See "I want | 1352 |
| 1353 XEmacs to use the Alt key" below. | 1353 Red Hat and SuSE (at least) distributed a prerelease version of ld |
| 1354 | 1354 (versions around 2.11.90.x.y) where autodetection is impossible. The |
| 1355 The color-gcc wrapper (see below) is in common use on the Mandrake | 1355 recommended procedure is to upgrade to binutils >= 2.12 and rerun |
| 1356 platform. | 1356 configure. Otherwise you must apply the flags by hand. --pdump is |
| 1357 recommended. | |
| 1357 | 1358 |
| 1358 *** I want XEmacs to use the Alt key, not the XXX key, for Meta commands | 1359 *** I want XEmacs to use the Alt key, not the XXX key, for Meta commands |
| 1359 | 1360 |
| 1360 For historical reasons, XEmacs looks for a Meta key, then an Alt key. | 1361 For historical reasons, XEmacs looks for a Meta key, then an Alt key. |
| 1361 It binds Meta commands to the X11 modifier bit attached to the first | 1362 It binds Meta commands to the X11 modifier bit attached to the first |
| 1395 http://www.geocities.com/kensanata/color-emacs.html#ansicolors | 1396 http://www.geocities.com/kensanata/color-emacs.html#ansicolors |
| 1396 | 1397 |
| 1397 This is written for the mainline GNU Emacs but the author has made | 1398 This is written for the mainline GNU Emacs but the author has made |
| 1398 efforts to adapt it to XEmacs. YMMV. | 1399 efforts to adapt it to XEmacs. YMMV. |
| 1399 | 1400 |
| 1401 *** Slow startup on Linux. | |
| 1402 | |
| 1403 People using systems based on the Linux kernel sometimes report that | |
| 1404 startup takes 10 to 15 seconds longer than `usual'. There are two | |
| 1405 problems, one older, one newer. | |
| 1406 | |
| 1407 **** Old problem: IPv4 host lookup | |
| 1408 | |
| 1409 On older systems, this is because Emacs looks up the host name when it | |
| 1410 starts. Normally, this takes negligible time; the extra delay is due | |
| 1411 to improper system configuration. (Recent Linux distros usually have | |
| 1412 this configuration correct "out of the box".) This problem can occur | |
| 1413 for both networked and non-networked machines. | |
| 1414 | |
| 1415 Here is how to fix the configuration. It requires being root. | |
| 1416 | |
| 1417 ***** Networked Case | |
| 1418 | |
| 1419 First, make sure the files `/etc/hosts' and `/etc/host.conf' both | |
| 1420 exist. The first line in the `/etc/hosts' file should look like this | |
| 1421 (replace HOSTNAME with your host name): | |
| 1422 | |
| 1423 127.0.0.1 localhost HOSTNAME | |
| 1424 | |
| 1425 Also make sure that the `/etc/host.conf' files contains the following | |
| 1426 lines: | |
| 1427 | |
| 1428 order hosts, bind | |
| 1429 multi on | |
| 1430 | |
| 1431 Any changes, permanent and temporary, to the host name should be | |
| 1432 indicated in the `/etc/hosts' file, since it acts a limited local | |
| 1433 database of addresses and names (e.g., some SLIP connections | |
| 1434 dynamically allocate ip addresses). | |
| 1435 | |
| 1436 ***** Non-Networked Case | |
| 1437 | |
| 1438 The solution described in the networked case applies here as well. | |
| 1439 However, if you never intend to network your machine, you can use a | |
| 1440 simpler solution: create an empty `/etc/host.conf' file. The command | |
| 1441 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts' | |
| 1442 file is not necessary with this approach. | |
| 1443 | |
| 1444 **** New problem: IPv6 CNAME lookup | |
| 1445 | |
| 1446 A newer problem is due to XEmacs changing to use the modern | |
| 1447 getaddrinfo() interface from the older gethostbyname() interface. The | |
| 1448 solution above is insufficient, because getaddrinfo() by default tries | |
| 1449 to get IPv6 information for localhost. This always involves a dns | |
| 1450 lookup to get the CNAME, and the strategies above don't work. It then | |
| 1451 falls back to IPv4 behavior. This is good[tm] according the people at | |
| 1452 WIDE who know about IPv6. | |
| 1453 | |
| 1454 ***** Robust network case | |
| 1455 | |
| 1456 Configure your network so that there are no nameservers configured | |
| 1457 until the network is actually running. getaddrinfo() will not try to | |
| 1458 access a nameserver that isn't configured. | |
| 1459 | |
| 1460 ***** Flaky network case | |
| 1461 | |
| 1462 If you have a flaky modem or DSL connection that can be relied on only | |
| 1463 to go down whenever you want to bring XEmacs up, you need to force | |
| 1464 IPv4 behavior. Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever | |
| 1465 is appropriate) works in most cases. | |
| 1466 | |
| 1467 If you cannot or do not want to do that, you can hard code IPv4 | |
| 1468 behavior in src/process-unix.c. This is bad[tm], on your own head be | |
| 1469 it. Use the configure option `--with-ipv6-cname=no'. | |
| 1470 | |
| 1471 *** Mandrake | |
| 1472 | |
| 1473 The Mandrake Linux distribution is attempting to comprehensively | |
| 1474 update the user interface, and make it consistent across | |
| 1475 applications. This is very difficult, and will occasionally cause | |
| 1476 conflicts with applications like Emacs with their own long-established | |
| 1477 interfaces. Known issues specific to Mandrake or especially common: | |
| 1478 | |
| 1479 Some versions of XEmacs (21.1.9 is known) distributed with Mandrake | |
| 1480 were patched to make the Meta and Alt keysyms synonymous. These | |
| 1481 normally work as expected in the Mandrake environment. However, | |
| 1482 custom-built XEmacsen (including all 21.2 betas) will "inexplicably" | |
| 1483 not respect the "Alt-invokes-Meta-commands" convention. See "I want | |
| 1484 XEmacs to use the Alt key" below. | |
| 1485 | |
| 1486 The color-gcc wrapper (see below) is in common use on the Mandrake | |
| 1487 platform. | |
| 1488 | |
| 1400 *** You get crashes in a non-C locale with Linux GNU Libc 2.0. | 1489 *** You get crashes in a non-C locale with Linux GNU Libc 2.0. |
| 1401 | 1490 |
| 1402 Internationalization was not the top priority for GNU Libc 2.0. | 1491 Internationalization was not the top priority for GNU Libc 2.0. |
| 1403 As of this writing (1998-12-28) you may get crashes while running | 1492 As of this writing (1998-12-28) you may get crashes while running |
| 1404 XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes | 1493 XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes |
| 1418 character doesn't appear--you get a solid box instead. | 1507 character doesn't appear--you get a solid box instead. |
| 1419 | 1508 |
| 1420 One user on a Linux system reported that this problem went away with | 1509 One user on a Linux system reported that this problem went away with |
| 1421 installation of a new X server. The failing server was XFree86 3.1.1. | 1510 installation of a new X server. The failing server was XFree86 3.1.1. |
| 1422 XFree86 3.1.2 works. | 1511 XFree86 3.1.2 works. |
| 1423 | |
| 1424 *** Slow startup on Linux. | |
| 1425 | |
| 1426 People using systems based on the Linux kernel sometimes report that | |
| 1427 startup takes 10 to 15 seconds longer than `usual'. There are two | |
| 1428 problems, one older, one newer. | |
| 1429 | |
| 1430 **** Old problem: IPv4 host lookup | |
| 1431 | |
| 1432 On older systems, this is because Emacs looks up the host name when it | |
| 1433 starts. Normally, this takes negligible time; the extra delay is due | |
| 1434 to improper system configuration. (Recent Linux distros usually have | |
| 1435 this configuration correct "out of the box".) This problem can occur | |
| 1436 for both networked and non-networked machines. | |
| 1437 | |
| 1438 Here is how to fix the configuration. It requires being root. | |
| 1439 | |
| 1440 ***** Networked Case | |
| 1441 | |
| 1442 First, make sure the files `/etc/hosts' and `/etc/host.conf' both | |
| 1443 exist. The first line in the `/etc/hosts' file should look like this | |
| 1444 (replace HOSTNAME with your host name): | |
| 1445 | |
| 1446 127.0.0.1 localhost HOSTNAME | |
| 1447 | |
| 1448 Also make sure that the `/etc/host.conf' files contains the following | |
| 1449 lines: | |
| 1450 | |
| 1451 order hosts, bind | |
| 1452 multi on | |
| 1453 | |
| 1454 Any changes, permanent and temporary, to the host name should be | |
| 1455 indicated in the `/etc/hosts' file, since it acts a limited local | |
| 1456 database of addresses and names (e.g., some SLIP connections | |
| 1457 dynamically allocate ip addresses). | |
| 1458 | |
| 1459 ***** Non-Networked Case | |
| 1460 | |
| 1461 The solution described in the networked case applies here as well. | |
| 1462 However, if you never intend to network your machine, you can use a | |
| 1463 simpler solution: create an empty `/etc/host.conf' file. The command | |
| 1464 `touch /etc/host.conf' suffices to create the file. The `/etc/hosts' | |
| 1465 file is not necessary with this approach. | |
| 1466 | |
| 1467 **** New problem: IPv6 CNAME lookup | |
| 1468 | |
| 1469 A newer problem is due to XEmacs changing to use the modern | |
| 1470 getaddrinfo() interface from the older gethostbyname() interface. The | |
| 1471 solution above is insufficient, because getaddrinfo() by default tries | |
| 1472 to get IPv6 information for localhost. This always involves a dns | |
| 1473 lookup to get the CNAME, and the strategies above don't work. It then | |
| 1474 falls back to IPv4 behavior. This is good[tm] according the people at | |
| 1475 WIDE who know about IPv6. | |
| 1476 | |
| 1477 ***** Robust network case | |
| 1478 | |
| 1479 Configure your network so that there are no nameservers configured | |
| 1480 until the network is actually running. getaddrinfo() will not try to | |
| 1481 access a nameserver that isn't configured. | |
| 1482 | |
| 1483 ***** Flaky network case | |
| 1484 | |
| 1485 If you have a flaky modem or DSL connection that can be relied on only | |
| 1486 to go down whenever you want to bring XEmacs up, you need to force | |
| 1487 IPv4 behavior. Explicitly setting DISPLAY=127.0.0.1:0.0 (or whatever | |
| 1488 is appropriate) works in most cases. | |
| 1489 | |
| 1490 If you cannot or do not want to do that, you can hard code IPv4 | |
| 1491 behavior in src/process-unix.c. This is bad[tm], on your own head be | |
| 1492 it. Use the configure option `--with-ipv6-cname=no'. | |
| 1493 | 1512 |
| 1494 ** IRIX | 1513 ** IRIX |
| 1495 *** On Irix, I don't see the toolbar icons and I'm getting lots of | 1514 *** On Irix, I don't see the toolbar icons and I'm getting lots of |
| 1496 entries in the warnings buffer. | 1515 entries in the warnings buffer. |
| 1497 | 1516 |
