SXEmacs Installation Guide
-Copyright (C) 2005 - 2011 Steve Youngs
+Copyright (C) 2005 - 2015 Steve Youngs
+
+
+,----[ In-Tree Builds Lead To Madness ]
+| Please note that because of the complexity of SXEmacs and its build
+| chain, we do not support building from within the source tree itself.
+|
+| So please, ALWAYS run `configure' and `make' from a separate directory,
+| completely outside of the source tree.
+|
+| In the code examples below, "${SRCTREE}" refers to the path where
+| your SXEmacs source files are stored.
+`----
Building from tarball release:
See ./configure --help for a description of all possible options,
then
- $ ./configure [options]
+ $ ${SRCTREE}/configure [options]
$ make
$ make check
$ make install
Also, some configuration options may need external libraries that are
not shipped with SXEmacs. SXEmacs will determine which libraries it
-needs at configuration time (when you run `./configure').
+needs at configuration time (when you run `${SRCTREE}/configure').
If configure can't find a particular library and you _do_ have it
installed, you can usually get configure to find it by adding to the
Stripping:
---------
Our advice... _DON'T_ do it. Stripping object files doesn't buy you
-anything other than a little bit of drive space. And in an era where
-200 Gigabyte hard disks are common, the space saved by stripping is
+anything other than a little bit of disc space. And in an era where
+multi-Terabyte hard discs are common, the space saved by stripping is
inconsequential at best.
But that isn't the only reason why we suggest that you don't strip
Packages:
--------
+As of 22.1.17 SXEmacs is distributing a set of XEmacs packages.
+However they are currently only available via HTTP so you will need
+a FFI-enabled SXEmacs to download and install package through the
+Package User Interface (PUI).
+
Like XEmacs, SXEmacs only comes with a minimal set of lisp libraries
to cover only basic editing and functions. To get fuller
-functionality you need to install some extra elisp packages. SXEmacs
-doesn't actually distribute any elisp packages, but it can and does
-use XEmacs packages.
-
-Unlike XEmacs, SXEmacs does _NOT_ need any packages pre-installed
-before its packaging tools (PUI) are usable. To install elisp
-packages into a virgin, packageless, SXEmacs, follow these steps...
+functionality you need to install some extra elisp packages.
1) Start SXEmacs
- 2) From the menubar, choose:
+ 2) From the menubar, choose a download site:
Tools -> Packages -> Set Download Site -> Official Releases
-> ...
- 3) M-x pui-bootstrap RET
+ "choose" might be a bit optimistic of a word as we currently only
+ have a single packages download site. That could change in the
+ future. The glass is half-full, yeah? ;-)
-After the "bootstrapping" is finished you'll be asked if you want to
-install anymore packages.
+ 3) M-x pui-list-packages RET
+
+ It will ask you if you would like to update the package-index
+ file, or, if you don't have one yet (if this is your first time
+ running SXEmacs, you won't), offer to create one for you. In
+ either case, say "yes".
+
+At this point you can choose which packages to install. There are
+some brief instructions at the bottom of that "Packages" buffer.
File hierarchies:
If the optional libraries are in a non-standard location, use
--with-site-prefixes option of configure. Ex:
- ./configure --with-site-prefixes=/opt/local
+ ${SRCTREE}/configure --with-site-prefixes=/opt/local
You can specify a list of paths with --with-site-prefixes:
- ./configure --with-site-prefixes=/opt/local:/sw
+ ${SRCTREE}/configure --with-site-prefixes=/opt/local:/sw
NOTE: Usage of --prefix does NOT imply that it is added to
site prefixes, so if you may need to add --with-site-prefixes
even with --prefix:
- ./configure --prefix=/opt/local --with-site-prefixes=/opt/local
+ ${SRCTREE}/configure --prefix=/opt/local --with-site-prefixes=/opt/local
http://www.mega-nerd.com/libsndfile/
- ffmpeg:
- http://ffmpeg.sourceforge.net/
+ http://ffmpeg.org/
- mad:
http://www.underbit.com/products/mad/
- - SoX:
+ - SoX (min version 14.1.0):
http://sox.sourceforge.net/
Note: Some of the media libraries above may in turn have dependencies
- OSS (Open Sound System): native on Linux and BSD. DEPRECATED!
- NAS (Network Audio System):
- http://nas.codebrilliance.com/
+ http://www.radscan.com/nas.html
- ESD (Enlightenment Sound Daemon):
ftp://ftp.gnome.org/pub/gnome/sources/esound/0.2/
- PulseAudio:
http://pulseaudio.org/
- - aRts (Analog Realtime Synthesizer):
- http://www.arts-project.org/
-
- Jack (Jack Audio Connection Kit):
- http://jackit.sourceforge.net/
+ http://jackaudio.org/
- ALSA (Advanced Linux Sound Architecture): Linux-only
http://www.alsa-project.org/
http://www.remotesensing.org/libtiff/
- xface (base64 encoded xbm):
- http://ftp.xemacs.org/pub/xemacs/aux/compface-1.5.1.tar.gz
+ http://ftp.xemacs.org/pub/xemacs/aux/compface-1.5.2.tar.gz
The configure option to control media libraries is --with-image. It
defaults to `all'.
support. We refer to enhanced number types as ENT.
- GMP (GNU MultiPrecision arithmetics library):
- http://swox.com/gmp
+ ftp://ftp.gnu.org/gnu/gmp/
- BSD mp:
Available natively on BSD distributions. Also included in the
<ftp://sourceware.org/pub/libffi/>.
- Or grab the latest CVS sources with:
+ Or grab the latest git sources with:
- cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/libffi login
- (password is ``anoncvs'')
- cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/libffi co libffi
+ git clone https://github.com/libffi/libffi
FFI is also available as part of GCC. It gets turned on if you
build the Java compiler, gcj. Strangely enough, not very many Linux
The build failed:
----------------
-Advise 1:
+Suggestion 1:
Don't panic. Take a look at the PROBLEMS file first and see if your
issue is listed there.
-Advise 2:
+Suggestion 2:
If the build fails at the configure script, try to examine the output
and/or the more verbose config.log. If the culprit seems to be a
certain test or configure option, try to circumvent it. You can for one
disable almost any functionality using --without-<feature>.
-Advise 3:
+Suggestion 3:
If the build fails at the make stage somewhere, try to figure out which
functionality was attempted to make. If it appears to be at some of the
optional features, try configuring again with that option disabled. If
-it seems to be a compiler or linker problem read advise number 4.
+it seems to be a compiler or linker problem read suggestion number 4.
-Advise 4:
+Suggestion 4:
If the build fails and you have absolutely no clue why it does, contact
the friendly people at SXEmacs. For almost real-time help consider the
IRC channel
will attempt to gather this information and create a tar file with
helpful logs.
-Before submitting a report at http://issues.sxemacs.org/, please show
+Before submitting a report at https://issues.sxemacs.org/, please show
up either on the mailing list or the IRC channel. The developers can
tell you in much greater detail what they need and how you can get the
files and information you need.
-Building from git source:
-------------------------
+Building from git source:
+------------------------
This is identical to building from the tarball sources, with the
addition of an extra step, and some extra requirements (that are most
-likely already on your system).
+likely already on your system). Remember that "in-tree" builds are
+not supported, so configure and make from a directory outside the
+tree.
$ ./autogen.sh
- $ ./configure [options]
+ $ ${SRCTREE}/configure [options]
$ make
$ make check
$ make install
automake 1.9.4
autoconf 2.60
- texinfo 4.8
+ texinfo 5.2 (preferably 6.0)
Warnings from autogen.sh:
------------------------