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