Mercurial > hg > xemacs-beta
comparison man/xemacs-faq.texi @ 3018:31e656a27dae
[xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
Reflect changes in configure options in INSTALL and the FAQ.
author | malcolmp |
---|---|
date | Mon, 24 Oct 2005 20:39:47 +0000 |
parents | 574c005d1f5c |
children | 15139dbf89f4 |
comparison
equal
deleted
inserted
replaced
3017:1e7cc382eb16 | 3018:31e656a27dae |
---|---|
5 @setchapternewpage off | 5 @setchapternewpage off |
6 @c %**end of header | 6 @c %**end of header |
7 @finalout | 7 @finalout |
8 @titlepage | 8 @titlepage |
9 @title XEmacs FAQ | 9 @title XEmacs FAQ |
10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2005/10/14 02:11:49 $ | 10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2005/10/24 20:39:47 $ |
11 @sp 1 | 11 @sp 1 |
12 @author Ben Wing <ben@@xemacs.org> | 12 @author Ben Wing <ben@@xemacs.org> |
13 @author Tony Rossini <rossini@@u.washington.edu> | 13 @author Tony Rossini <rossini@@u.washington.edu> |
14 @author Chuck Thompson <cthomp@@xemacs.org> | 14 @author Chuck Thompson <cthomp@@xemacs.org> |
15 @author Steve Baur <steve@@xemacs.org> | 15 @author Steve Baur <steve@@xemacs.org> |
1101 sparc-sun-solaris2.6 (both Sun's Forte C and gcc) | 1101 sparc-sun-solaris2.6 (both Sun's Forte C and gcc) |
1102 sparc-sun-solaris2.7 (both Sun's Forte C and gcc) | 1102 sparc-sun-solaris2.7 (both Sun's Forte C and gcc) |
1103 sparc-sun-sunos4.1.4 (gcc) | 1103 sparc-sun-sunos4.1.4 (gcc) |
1104 @end example | 1104 @end example |
1105 | 1105 |
1106 Some systems have a dual mode 32-bit/64-bit compiler. On most of | 1106 Some systems have a dual mode 32-bit/64-bit compiler. On most of these, |
1107 these, XEmacs requires the @samp{--pdump} configure option to build | 1107 XEmacs requires the @samp{--pdump} (in XEmacs 21.5, |
1108 correctly with the 64-bit version of the compiler. | 1108 @samp{--enable-pdump}) configure option to build correctly with the |
1109 64-bit version of the compiler. | |
1109 | 1110 |
1110 @example | 1111 @example |
1111 mips-sgi-irix6.5, CC="gcc -mabi=64" | 1112 mips-sgi-irix6.5, CC="gcc -mabi=64" |
1112 mips-sgi-irix6.5, CC="cc -64" | 1113 mips-sgi-irix6.5, CC="cc -64" |
1113 rs6000-ibm-aix4.3.0.0, CC="cc -q64" | 1114 rs6000-ibm-aix4.3.0.0, CC="cc -q64" |
3261 | 3262 |
3262 If you have GNU tar you can use: | 3263 If you have GNU tar you can use: |
3263 | 3264 |
3264 @code{cd $prefix/lib/xemacs ; tar zxvf <tarballname>} | 3265 @code{cd $prefix/lib/xemacs ; tar zxvf <tarballname>} |
3265 | 3266 |
3266 If you have the packages somewhere nonstandard and don't want to | 3267 If you have the packages somewhere nonstandard and don't want to bother |
3267 bother with @samp{$prefix} (for example, you're a developer and are | 3268 with @samp{$prefix} (for example, you're a developer and are compiling |
3268 compiling the packages yourself, and want your own private copy of | 3269 the packages yourself, and want your own private copy of everything), |
3269 everything), you can also directly specify this using @file{configure}. | 3270 you can also directly specify this using @file{configure}. To do this |
3270 To do this under 21.5 and above use the @samp{--package-prefix} parameter | 3271 with 21.5 and above use the @samp{--with-package-prefix} parameter to |
3271 to specify the directory under which you untarred the above tarballs. | 3272 specify the directory under which you untarred the above tarballs. |
3272 Under 21.4 and previous you need to use @samp{--package-path}, | 3273 Under 21.4 and previous you need to use @samp{--package-path}. Using |
3273 something like this: | 3274 these options looks something like this: |
3274 | 3275 |
3275 @example | 3276 @example |
3276 configure --package-path="~/.xemacs::/src/xemacs/site-packages:/src/xemacs/xemacs-packages:/src/xemacs/mule-packages" ... | 3277 configure --package-path="~/.xemacs::/src/xemacs/site-packages:/src/xemacs/xemacs-packages:/src/xemacs/mule-packages" ... |
3277 @end example | 3278 @end example |
3278 | 3279 |
3503 installed by default in @file{/usr/local/bin}; this explains why | 3504 installed by default in @file{/usr/local/bin}; this explains why |
3504 XEmacs in its default installation will find packages that you put | 3505 XEmacs in its default installation will find packages that you put |
3505 under @file{/usr/local/lib/xemacs}. | 3506 under @file{/usr/local/lib/xemacs}. |
3506 | 3507 |
3507 You can specify where exactly XEmacs looks for packages by using the | 3508 You can specify where exactly XEmacs looks for packages by using the |
3508 @samp{--package-prefix} or @samp{--package-path} parameters to | 3509 @samp{--with-package-prefix} or @samp{--with-package-path} parameters to |
3509 @file{configure} (or the equivalent settings in @file{config.inc}, | 3510 @file{configure} (or the equivalent settings in @file{config.inc}, under |
3510 under Windows), or setting the @samp{EMACSPACKAGEPATH} environment | 3511 Windows), or setting the @samp{EMACSPACKAGEPATH} environment variable |
3511 variable (which has the same format as @samp{--package-path}). | 3512 (which has the same format as @samp{--with-package-path}). @xref{Q2.1.1}. |
3512 @xref{Q2.1.1}. | |
3513 | 3513 |
3514 See @file{configure.usage} for more info about the format of these | 3514 See @file{configure.usage} for more info about the format of these |
3515 @file{configure} parameters. | 3515 @file{configure} parameters. |
3516 | 3516 |
3517 In addition to the system wide packages, each user can have his own | 3517 In addition to the system wide packages, each user can have his own |
3543 | 3543 |
3544 @node Q2.2.1, Q2.2.2, Q2.1.7, Installation | 3544 @node Q2.2.1, Q2.2.2, Q2.1.7, Installation |
3545 @unnumberedsubsec Q2.2.1: Libraries in non-standard locations | 3545 @unnumberedsubsec Q2.2.1: Libraries in non-standard locations |
3546 | 3546 |
3547 If your libraries are in a non-standard location, you can specify the location | 3547 If your libraries are in a non-standard location, you can specify the location |
3548 using the following flags to @file{configure}: | 3548 using the following flags to @file{configure}. Under 21.4 or earlier: |
3549 | 3549 |
3550 @example | 3550 @example |
3551 --site-libraries=WHATEVER | 3551 --site-libraries=WHATEVER |
3552 --site-includes=WHATEVER | 3552 --site-includes=WHATEVER |
3553 @end example | 3553 @end example |
3554 | 3554 |
3555 Under 21.5 or later: | |
3556 | |
3557 @example | |
3558 --with-site-libraries=WHATEVER | |
3559 --with-site-includes=WHATEVER | |
3560 @end example | |
3561 | |
3555 If you have multiple paths to specify, use the following syntax: | 3562 If you have multiple paths to specify, use the following syntax: |
3556 | 3563 |
3557 @example | 3564 @example |
3558 --site-libraries='/path/one /path/two /path/etc' | 3565 --site-libraries='/path/one /path/two /path/etc' |
3566 @end example | |
3567 | |
3568 If the libraries and headers reside in the directories @samp{lib} and | |
3569 @samp{include} of a common root (say @samp{/sw}) then both can be | |
3570 specified with a single option: | |
3571 | |
3572 @example | |
3573 --site-prefixes=WHATEVER | |
3574 @end example | |
3575 | |
3576 or for 21.5: | |
3577 | |
3578 @example | |
3579 --with-site-prefixes=WHATEVER | |
3559 @end example | 3580 @end example |
3560 | 3581 |
3561 @node Q2.2.2, Q2.3.1, Q2.2.1, Installation | 3582 @node Q2.2.2, Q2.3.1, Q2.2.1, Installation |
3562 @unnumberedsubsec Q2.2.2: Why can't I strip XEmacs? | 3583 @unnumberedsubsec Q2.2.2: Why can't I strip XEmacs? |
3563 | 3584 |
3749 Build @samp{gcc -mno-cygwin} versions of the extra libs, i.e. @file{libpng}, | 3770 Build @samp{gcc -mno-cygwin} versions of the extra libs, i.e. @file{libpng}, |
3750 @file{compface}, etc. | 3771 @file{compface}, etc. |
3751 | 3772 |
3752 @item | 3773 @item |
3753 Specify the target location of the extra libs on the command line | 3774 Specify the target location of the extra libs on the command line |
3754 to @file{configure}, e.g. | 3775 to @file{configure}, e.g.for 21.4 or earlier |
3755 @samp{./configure --site-prefixes=/build/libs i586-pc-mingw32}. | 3776 @samp{./configure --site-prefixes=/build/libs i586-pc-mingw32} and for |
3777 21.5 or later | |
3778 @samp{./configure --with-site-prefixes=/build/libs i586-pc-mingw32}. | |
3756 @end itemize | 3779 @end itemize |
3757 | 3780 |
3758 @node Q2.3.7, Q2.3.8, Q2.3.6, Installation | 3781 @node Q2.3.7, Q2.3.8, Q2.3.6, Installation |
3759 @unnumberedsubsec Q2.3.7: How do I compile with X support? | 3782 @unnumberedsubsec Q2.3.7: How do I compile with X support? |
3760 | 3783 |
3963 | 3986 |
3964 Please see the @file{PROBLEMS} file that comes with XEmacs (it's in | 3987 Please see the @file{PROBLEMS} file that comes with XEmacs (it's in |
3965 the top-level source directory) to read what it says about your | 3988 the top-level source directory) to read what it says about your |
3966 platform. | 3989 platform. |
3967 | 3990 |
3968 If you compiled XEmacs using @samp{--use-union-type} (or the option | 3991 If you compiled XEmacs 21.4 or ealier using @samp{--use-union-type}, or |
3969 @samp{USE_UNION_TYPE} in @file{config.inc} under Windows), try | 3992 21.5 or later using @samp{--enable-union-type} (or in either case used |
3970 recompiling again without it. The union type has been known to trigger | 3993 the option @samp{USE_UNION_TYPE} in @file{config.inc} under Windows), |
3971 compiler errors in a number of cases. | 3994 try recompiling again without it. The union type has been known to |
3995 trigger compiler errors in a number of cases. | |
3972 | 3996 |
3973 @node Q2.4.4, Q2.4.5, Q2.4.3, Installation | 3997 @node Q2.4.4, Q2.4.5, Q2.4.3, Installation |
3974 @unnumberedsubsec Q2.4.4: How to debug an XEmacs problem with a debugger | 3998 @unnumberedsubsec Q2.4.4: How to debug an XEmacs problem with a debugger |
3975 | 3999 |
3976 If XEmacs does crash on you, one of the most productive things you can | 4000 If XEmacs does crash on you, one of the most productive things you can |
3981 @item | 4005 @item |
3982 First of all, if the crash is at all reproducible, consider very | 4006 First of all, if the crash is at all reproducible, consider very |
3983 strongly recompiling your XEmacs with debugging symbols and with no | 4007 strongly recompiling your XEmacs with debugging symbols and with no |
3984 optimization (e.g. with GCC use the compiler flags @samp{-g -O0} -- | 4008 optimization (e.g. with GCC use the compiler flags @samp{-g -O0} -- |
3985 that's an "oh" followed by a zero), and with the configure options | 4009 that's an "oh" followed by a zero), and with the configure options |
3986 @samp{--debug=yes} and @samp{--error-checking=all}. This will make | 4010 @samp{--debug=yes} and @samp{--error-checking=all} |
3987 your XEmacs run somewhat slower, but you are a lot more likely to | 4011 (@samp{--enable-debug=yes} and @samp{--enable-error-checking=all} on |
3988 catch the problem earlier (closer to its source). It makes it a lot | 4012 XEmacs 21.5 or later). This will make your XEmacs run somewhat slower, |
3989 easier to determine what's going on with a debugger. The way to | 4013 but you are a lot more likely to catch the problem earlier (closer to |
3990 control the compiler flags is with the configuration option | 4014 its source). It makes it a lot easier to determine what's going on with |
3991 @samp{--cflags}. If you have a recent version of 21.5, you should use | 4015 a debugger. The way to control the compiler flags is with the |
4016 configuration option @samp{--cflags} (@samp{--with-cflags} in 21.5). If | |
4017 you have a recent version of 21.5, you should use | |
3992 @samp{--without-optimization} in preference to directly setting | 4018 @samp{--without-optimization} in preference to directly setting |
3993 @samp{--cflags}. | 4019 @samp{--cflags}. |
3994 | 4020 |
3995 @item | 4021 @item |
3996 If it's not a true crash (@emph{i.e.}, XEmacs is hung, or a zombie | 4022 If it's not a true crash (@emph{i.e.}, XEmacs is hung, or a zombie |
4144 | 4170 |
4145 @item | 4171 @item |
4146 If you're using a debugger to get a C stack backtrace and you're seeing | 4172 If you're using a debugger to get a C stack backtrace and you're seeing |
4147 stack traces with some of the innermost frames mangled, it may be due to | 4173 stack traces with some of the innermost frames mangled, it may be due to |
4148 dynamic linking. (This happens especially under Linux.) Consider | 4174 dynamic linking. (This happens especially under Linux.) Consider |
4149 reconfiguring with @samp{--dynamic=no}. Also, sometimes (again under | 4175 reconfiguring with @samp{--dynamic=no} (@samp{--with-dynamic=no} in 21.5 |
4150 Linux), stack backtraces of core dumps will have the frame where the | 4176 or later). Also, sometimes (again under Linux), stack backtraces of |
4151 fatal signal occurred mangled; if you can obtain a stack trace while | 4177 core dumps will have the frame where the fatal signal occurred mangled; |
4152 running the XEmacs process under a debugger, the stack trace should be | 4178 if you can obtain a stack trace while running the XEmacs process under a |
4153 clean. | 4179 debugger, the stack trace should be clean. |
4154 | 4180 |
4155 @email{1CMC3466@@ibm.mtsac.edu, Curtiss} suggests upgrading to ld.so | 4181 @email{1CMC3466@@ibm.mtsac.edu, Curtiss} suggests upgrading to ld.so |
4156 version 1.8 if dynamic linking and debugging is a problem on Linux. | 4182 version 1.8 if dynamic linking and debugging is a problem on Linux. |
4157 | 4183 |
4158 @item | 4184 @item |
4291 probably want to set a breakpoint on @code{signal_1}. Since such | 4317 probably want to set a breakpoint on @code{signal_1}. Since such |
4292 errors often occur during compiling, which is often triggered by a | 4318 errors often occur during compiling, which is often triggered by a |
4293 complex command run from a make suite, it may be easier to attach to | 4319 complex command run from a make suite, it may be easier to attach to |
4294 the process once it's running. | 4320 the process once it's running. |
4295 | 4321 |
4296 Under Microsoft Windows (and perhaps other operating systems), there | 4322 Under Microsoft Windows (and perhaps other operating systems), there is |
4297 is another useful trick you can do if you have configured with | 4323 another useful trick you can do if you have configured with debugging |
4298 debugging support (configure option @samp{--debug} or setting | 4324 support (configure option @samp{--debug} (@samp{--with-debug} in 21.5) |
4299 @samp{DEBUG_XEMACS} in @file{nt/config.inc}). Set the environment | 4325 or setting @samp{DEBUG_XEMACS} in @file{nt/config.inc}). Set the |
4300 variable @samp{XEMACSDEBUG} (as described above) to @samp{(setq | 4326 environment variable @samp{XEMACSDEBUG} (as described above) to |
4301 debug-on-error t)}. Then, when an error occurs noninteractively, | 4327 @samp{(setq debug-on-error t)}. Then, when an error occurs |
4302 instead of trying to invoke the Lisp debugger (which obviously won't | 4328 noninteractively, instead of trying to invoke the Lisp debugger (which |
4303 work), XEmacs will break out to a C debugger using | 4329 obviously won't work), XEmacs will break out to a C debugger using |
4304 @code{(force-debugging-signal t)}. @emph{NOTE}: This runs | 4330 @code{(force-debugging-signal t)}. @emph{NOTE}: This runs |
4305 @code{abort()}!!! (As well as and after executing INT 3 under MS | 4331 @code{abort()}!!! (As well as and after executing INT 3 under MS |
4306 Windows, which should invoke a debugger if it's active.) This is | 4332 Windows, which should invoke a debugger if it's active.) This is |
4307 guaranteed to kill XEmacs! (But in this situation, XEmacs is about to | 4333 guaranteed to kill XEmacs! (But in this situation, XEmacs is about to |
4308 die anyway, and if no debugger is present, this will usefully dump | 4334 die anyway, and if no debugger is present, this will usefully dump |
6439 | 6465 |
6440 @dfn{Network Audio System} (NAS) is a client-server sound library for X. | 6466 @dfn{Network Audio System} (NAS) is a client-server sound library for X. |
6441 | 6467 |
6442 @uref{http://radscan.com/nas.html}. | 6468 @uref{http://radscan.com/nas.html}. |
6443 | 6469 |
6444 To build XEmacs with it, use the @file{configure} flag @samp{--with-sound=nas}. | 6470 To build XEmacs with it, use the @file{configure} flag |
6471 @samp{--with-sound=nas} (@samp{--enable-sound=nas} in 21.5 or later). | |
6445 | 6472 |
6446 @dfn{Enlightened Sound Daemon} (ESD or EsounD) is yet another sound system. | 6473 @dfn{Enlightened Sound Daemon} (ESD or EsounD) is yet another sound system. |
6447 | 6474 |
6448 @uref{http://www.tux.org/~ricdude/EsounD.html}. | 6475 @uref{http://www.tux.org/~ricdude/EsounD.html}. |
6449 | 6476 |
6450 To build XEmacs with it, use the @file{configure} flag @samp{--with-sound=esd}. | 6477 To build XEmacs with it, use the @file{configure} flag |
6451 | 6478 @samp{--with-sound=esd} (@samp{--enable-sound=esd} in 21.5 or later). |
6452 You can specify support for both with a flag like @samp{--with-sound=nas,esd}. | 6479 |
6480 You can specify support for both with a flag like | |
6481 @samp{--with-sound=nas,esd} (@samp{--enable-sound=nas,esd} in 21.5 or | |
6482 later). | |
6453 | 6483 |
6454 @node Q5.3.4, Q5.4.1, Q5.3.3, External Subsystems | 6484 @node Q5.3.4, Q5.4.1, Q5.3.3, External Subsystems |
6455 @unnumberedsubsec Q5.3.4: Sunsite sounds don't play. | 6485 @unnumberedsubsec Q5.3.4: Sunsite sounds don't play. |
6456 | 6486 |
6457 I'm having some trouble with sounds I've downloaded from sunsite. They | 6487 I'm having some trouble with sounds I've downloaded from sunsite. They |
6871 or something similar) using a program called @code{movemail}. | 6901 or something similar) using a program called @code{movemail}. |
6872 This program interlocks with @code{/bin/mail} using the protocol | 6902 This program interlocks with @code{/bin/mail} using the protocol |
6873 defined by @code{/bin/mail}. | 6903 defined by @code{/bin/mail}. |
6874 | 6904 |
6875 There are various different protocols in general use, which you need to | 6905 There are various different protocols in general use, which you need to |
6876 specify using the @samp{--mail-locking} option to @file{configure}: | 6906 specify using the @samp{--mail-locking} option |
6907 (@samp{--with-mail-locking} in 21.5 or later) to @file{configure}: | |
6877 | 6908 |
6878 @table @samp | 6909 @table @samp |
6879 @item lockf | 6910 @item lockf |
6880 POSIX file locking with @code{lockf()} | 6911 POSIX file locking with @code{lockf()} |
6881 @item flock | 6912 @item flock |
7792 can't be ruled out. ``Arbitrary'' precision means precisely what it | 7823 can't be ruled out. ``Arbitrary'' precision means precisely what it |
7793 says. If you work with extremely large numbers, your machine may | 7824 says. If you work with extremely large numbers, your machine may |
7794 arbitrarily decide to hand you an unpleasant surprise rather than a | 7825 arbitrarily decide to hand you an unpleasant surprise rather than a |
7795 bignum @ref{Q7.2.2, XEmacs segfaults when I use very big numbers!}. | 7826 bignum @ref{Q7.2.2, XEmacs segfaults when I use very big numbers!}. |
7796 | 7827 |
7797 To configure with GNU MP, add | 7828 To configure with GNU MP, add @samp{--use-number-lib=gmp} |
7798 @samp{--use-number-lib=gmp} | 7829 (@samp{--enable-bignum=gmp} in 21.5 or later) to your invocation of |
7799 to your invocation of @file{configure}. For BSD MP, use | 7830 @file{configure}. For BSD MP, use @samp{--use-number-lib=mp} |
7800 @samp{--use-number-lib=mp}. | 7831 (@samp{--enable-bignum=mp} for 21.5). |
7801 | 7832 |
7802 If you would like to help with bignum support, especially on BSD MP, | 7833 If you would like to help with bignum support, especially on BSD MP, |
7803 please subscribe to the @uref{http://www.xemacs.org/Lists/#xemacs-beta, | 7834 please subscribe to the @uref{http://www.xemacs.org/Lists/#xemacs-beta, |
7804 XEmacs Beta mailing list}, and book up on @file{number-gmp.h} and | 7835 XEmacs Beta mailing list}, and book up on @file{number-gmp.h} and |
7805 @file{number-mp.h}. Jerry has promised to write internals documentation | 7836 @file{number-mp.h}. Jerry has promised to write internals documentation |