Having been away a while, I'm assured I can share my problems
with trying to build the latest xemacs beta here.
I used to do this sort of thing all the time, but it's been at
least five or six years, and although I have a good software
background, I'm not primarily a programmer. (About 20 years of
system testing an another five of Web application development
using LAMP in my background.)
Also, version 21.4 patch 22 is working fine for my purposes.
That said: Help!
My system is a three-week-old 27-inch iMac with quad core Intel
processor @ 3.2 GHz and other goodies irrelevant to this
discussion. I'm told there are other Mac users among us who are
using the beta and that it's working superbly well for them.
So then , I unwound the source, did the usual sequence of stuff,
and got an error. What follows is the edited shell buffer output,
with most irrelevant stuff deleted.
-------------------- BEGINNING OF SHELL GLOP --------------------
$ pwd
/Users/lnewton/xemacs
$ ls
xemacs-21.5.33.tar.gz xemacs-sumo.tar.gz
$ tar -zxvf xemacs-21.5.33.tar.gz
xemacs-21.5.33/
... output deleted ...
$ tar -zxvf xemacs-sumo.tar.gz
./xemacs-packages/
... output deleted ...
$ cd xemacs-21.5.33
$ ./configure
... output deleted ... looks okay ...
$ make
... most output deleted until ...
Loading /Users/lnewton/xemacs/xemacs-21.5.33/src/../lisp/make-docfile.el...
Loading find-paths.el...
Loading packages.el...
Loading setup-paths.el...
Loading raw-process.el...
Requiring custom...
Requiring widget...
Loading process...
Loading /Users/lnewton/xemacs/xemacs-21.5.33/lisp/dumped-lisp.el...
Spawning make-docfile ...
Spawning make-docfile ...done
./temacs -nd -no-packages -batch -l
/Users/lnewton/xemacs/xemacs-21.5.33/src/../lisp/loadup.el dump
Loading /Users/lnewton/xemacs/xemacs-21.5.33/src/../lisp/loadup.el...
Using load-path (/Users/lnewton/xemacs/xemacs-21.5.33/lisp/)
Using module-load-path (/Users/lnewton/xemacs/xemacs-21.5.33/modules)
Loading /Users/lnewton/xemacs/xemacs-21.5.33/lisp/backquote.elc...
... and so forth until ...
Loading /Users/lnewton/xemacs/xemacs-21.5.33/lisp/custom.elc...
Requiring widget...
... and more of the same until ...
Loading /Users/lnewton/xemacs/xemacs-21.5.33/lisp/paragraphs.elc...
*** Error in XEmacs initialization
(error "Loading this file requires xemacs, mule")
*** Backtrace
really-early-error-handler((error "Loading this file requires xemacs, mule"))
signal(error ("Loading this file requires xemacs, mule"))
# bind (args datum)
cerror("Loading this file requires xemacs, mule")
apply(cerror "Loading this file requires xemacs, mule" nil)
# bind (args datum)
error("Loading this file requires xemacs, mule")
(or (and (featurep (quote xemacs)) (featurep (quote mule))) (error
"Loading this file requires xemacs, mule"))
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
(load-internal "[internal]")
load-internal("/Users/lnewton/xemacs/xemacs-21.5.33/lisp/paragraphs.elc"
nil nil nil escape-quoted)
# bind (handler path nosuffix nomessage noerror filename)
load("/Users/lnewton/xemacs/xemacs-21.5.33/lisp/paragraphs.elc")
(prog1 (load full-path) (unless (memq (quote quick-build)
internal-error-checking) (garbage-collect)))
(if full-path (prog1 (load full-path) (unless (memq (quote
quick-build) internal-error-checking) (garbage-collect)))
(external-debugging-output (format "\nLoad file %s: not found\n"
file)) nil)
# bind (full-path)
(let ((full-path (locate-file file load-path (if
load-ignore-elc-files (quote (".el" "")) (quote (".elc"
".el" ""))))))
(if full-path (prog1 (load full-path) (unless (memq (quote
quick-build) internal-error-checking) (garbage-collect)))
(external-debugging-output (format "\nLoad file %s: not found\n"
file)) nil))
# bind (file)
pureload("paragraphs")
(if (pureload file) nil (external-debugging-output "Fatal error
during load, aborting") (kill-emacs 1))
(unless (pureload file) (external-debugging-output "Fatal error
during load, aborting") (kill-emacs 1))
(while (setq file (car files)) (unless (pureload file)
(external-debugging-output "Fatal error during load, aborting")
(kill-emacs 1)) (setq files (cdr files)))
# bind (file files)
(let ((files preloaded-file-list) file) (while (setq file (car
files)) (unless (pureload file) (external-debugging-output "Fatal
error during load, aborting") (kill-emacs 1)) (setq files (cdr
files))) (when (not (featurep (quote toolbar))) (defun
toolbar-button-p (obj) "No toolbar support." nil) (defun
toolbar-specifier-p (obj) "No toolbar support." nil)) (fmakunbound
(quote pureload)))
(lambda nil (setq load-path (list source-lisp)) (setq
module-load-path (list (expand-file-name "modules" build-directory)))
(external-debugging-output (format "\nUsing load-path %s" load-path))
(external-debugging-output (format "\nUsing module-load-path %s"
module-load-path)) (buffer-disable-undo (get-buffer "*scratch*")) (let
((temp-path (expand-file-name "." (car load-path)))) (setq load-path
(nconc (mapcar (function (lambda (i) (concat i "/"))) (directory-files
temp-path t "^[^-.]" nil (quote dirs-only))) (cons
(file-name-as-directory temp-path) load-path)))) (setq
load-warn-when-source-only t) (defun pureload (file) (let ((full-path
(locate-file file load-path (if load-ignore-elc-files (quote (".el"
"")) (quote (".elc" ".el" "")))))) (if full-path
(prog1 (load
full-path) (unless (memq (quote quick-build) internal-error-checking)
(garbage-collect))) (external-debugging-output (format "\nLoad file
%s: not found\n" file)) nil))) (load (expand-file-name
"dumped-lisp.el" source-lisp)) (let ((files preloaded-file-list) file)
(while (setq file (car files)) (unless (pureload file)
(external-debugging-output "Fatal error during load, aborting")
(kill-emacs 1)) (setq files (cdr files))) (when (not (featurep (quote
toolbar))) (defun toolbar-button-p (obj) "No toolbar support." nil)
(defun toolbar-specifier-p (obj) "No toolbar support." nil))
(fmakunbound (quote pureload))) (packages-load-package-dumped-lisps
late-package-load-path))()
# (unwind-protect ...)
call-with-condition-handler(really-early-error-handler (lambda nil
(setq load-path (list source-lisp)) (setq module-load-path (list
(expand-file-name "modules" build-directory)))
(external-debugging-output (format "\nUsing load-path %s" load-path))
(external-debugging-output (format "\nUsing module-load-path %s"
module-load-path)) (buffer-disable-undo (get-buffer "*scratch*")) (let
((temp-path (expand-file-name "." (car load-path)))) (setq load-path
(nconc (mapcar (function (lambda (i) (concat i "/"))) (directory-files
temp-path t "^[^-.]" nil (quote dirs-only))) (cons
(file-name-as-directory temp-path) load-path)))) (setq
load-warn-when-source-only t) (defun pureload (file) (let ((full-path
(locate-file file load-path (if load-ignore-elc-files (quote (".el"
"")) (quote (".elc" ".el" "")))))) (if full-path
(prog1 (load
full-path) (unless (memq (quote quick-build) internal-error-checking)
(garbage-collect))) (external-debugging-output (format "\nLoad file
%s: not found\n" file)) nil))) (load (expand-file-name
"dumped-lisp.el" source-lisp)) (let ((files preloaded-file-list) file)
(while (setq file (car files)) (unless (pureload file)
(external-debugging-output "Fatal error during load, aborting")
(kill-emacs 1)) (setq files (cdr files))) (when (not (featurep (quote
toolbar))) (defun toolbar-button-p (obj) "No toolbar support." nil)
(defun toolbar-specifier-p (obj) "No toolbar support." nil))
(fmakunbound (quote pureload))) (packages-load-package-dumped-lisps
late-package-load-path)))
# bind (stack-trace-on-error)
(let ((stack-trace-on-error nil)) (call-with-condition-handler
(quote really-early-error-handler) (function (lambda nil (setq
load-path (list source-lisp)) (setq module-load-path (list
(expand-file-name "modules" build-directory)))
(external-debugging-output (format "\nUsing load-path %s" load-path))
(external-debugging-output (format "\nUsing module-load-path %s"
module-load-path)) (buffer-disable-undo (get-buffer "*scratch*")) (let
((temp-path (expand-file-name "." (car load-path)))) (setq load-path
(nconc (mapcar (function (lambda (i) (concat i "/"))) (directory-files
temp-path t "^[^-.]" nil (quote dirs-only))) (cons
(file-name-as-directory temp-path) load-path)))) (setq
load-warn-when-source-only t) (defun pureload (file) (let ((full-path
(locate-file file load-path (if load-ignore-elc-files (quote (".el"
"")) (quote (".elc" ".el" "")))))) (if full-path
(prog1 (load
full-path) (unless (memq (quote quick-build) internal-error-checking)
(garbage-collect))) (external-debugging-output (format "\nLoad file
%s: not found\n" file)) nil))) (load (expand-file-name
"dumped-lisp.el" source-lisp)) (let ((files preloaded-file-list) file)
(while (setq file (car files)) (unless (pureload file)
(external-debugging-output "Fatal error during load, aborting")
(kill-emacs 1)) (setq files (cdr files))) (when (not (featurep (quote
toolbar))) (defun toolbar-button-p (obj) "No toolbar support." nil)
(defun toolbar-specifier-p (obj) "No toolbar support." nil))
(fmakunbound (quote pureload))) (packages-load-package-dumped-lisps
late-package-load-path)))))
# bind (gc-cons-threshold)
(let ((gc-cons-threshold (if (and purify-flag (not (memq (quote
quick-build) internal-error-checking))) 30000 3000000))) (let
((stack-trace-on-error nil)) (call-with-condition-handler (quote
really-early-error-handler) (function (lambda nil (setq load-path
(list source-lisp)) (setq module-load-path (list (expand-file-name
"modules" build-directory))) (external-debugging-output (format
"\nUsing load-path %s" load-path)) (external-debugging-output (format
"\nUsing module-load-path %s" module-load-path)) (buffer-disable-undo
(get-buffer "*scratch*")) (let ((temp-path (expand-file-name "." (car
load-path)))) (setq load-path (nconc (mapcar (function (lambda (i)
(concat i "/"))) (directory-files temp-path t "^[^-.]" nil (quote
dirs-only))) (cons (file-name-as-directory temp-path) load-path))))
(setq load-warn-when-source-only t) (defun pureload (file) (let
((full-path (locate-file file load-path (if load-ignore-elc-files
(quote (".el" "")) (quote (".elc" ".el"
"")))))) (if full-path (prog1
(load full-path) (unless (memq (quote quick-build)
internal-error-checking) (garbage-collect)))
(external-debugging-output (format "\nLoad file %s: not found\n"
file)) nil))) (load (expand-file-name "dumped-lisp.el" source-lisp))
(let ((files preloaded-file-list) file) (while (setq file (car files))
(unless (pureload file) (external-debugging-output "Fatal error during
load, aborting") (kill-emacs 1)) (setq files (cdr files))) (when (not
(featurep (quote toolbar))) (defun toolbar-button-p (obj) "No toolbar
support." nil) (defun toolbar-specifier-p (obj) "No toolbar support."
nil)) (fmakunbound (quote pureload)))
(packages-load-package-dumped-lisps late-package-load-path))))) (setq
preloaded-file-list (mapcar (function file-name-sans-extension)
preloaded-file-list)) (setq load-warn-when-source-only nil) (setq
debugger (quote debug)) (when (member "no-site-file"
command-line-args) (setq site-start-file nil)) (when (load "site-load"
t) (garbage-collect)) (when purify-flag (message "Finding pointers to
doc strings...") (Snarf-documentation "DOC") (message "Finding
pointers to doc strings...done") (Verify-documentation)) (when
(stringp site-start-file) (load "site-init" t)) (setq load-history
(cons (nreverse current-load-list) (delete* nil (mapc (function
(lambda (element) (delete* (quote defun) element :key (function
car-safe)) (delete-if (function (lambda (elt) (and (symbolp elt) (get
elt (quote variable-documentation))))) element))) load-history) :key
(function cdr))) current-load-list nil) (setcar (car load-history)
(file-truename (caar load-history))) (garbage-collect)
(buffer-enable-undo "*scratch*"))
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
(load-internal "[internal]")
load("/Users/lnewton/xemacs/xemacs-21.5.33/src/../lisp/loadup.el")
# (condition-case ... . error)
# (catch top-level ...)
*** Killing XEmacs
XEmacs exiting to debugger.
Fatal error: assertion failed, file emacs.c, line 3513, ABORT()
make[1]: *** [xemacs] Abort trap: 6
make: *** [src] Error 2
$
----------------------- END OF SHELL GLOP -----------------------
Apparently I'm missing mule, which I'd assumed was part of the
distribution. As I recall, that has to do with multi-language
support, unicode, and all that sort of thing, right? I know it's
been around for a long time, but I've never paid much attention
to it. I'm pretty sure I *do* have it in my 21.4.22 installation,
which I installed from macports (sudo port install xemacs).
Soooo ...
o What next? Gotta get mule in there, I guess. Where do I get it,
and where in the source hierarchy does it fall? I don't know that
no mule is the only problem.
o Supplementary question: I know it's not necessary for compiling
xemacs, but where exactly do the packages go, i.e., what
directory? (Assuming I give ./configure no options ... if
that's even relevant.)
o The sumo package that I downloaded is dated July 27, 2010. I'm
guessing that since most package developers have abandoned
working on packages, that this date is probably right. Is it?
o Another supplementary question: is it possible to entirely root
hyperbole out of xemacs? I used to use it a lot, finally came
to hate it, but found it's so thoroughly ingrained, at least in
21.4.22, that my efforts to get rid of it have invariably led
to problems. So it remains as a kind of an albatross.
Thanks.
--
Lynn David Newton
Columbus, Ohio
neologisticsediting.com
lynndavidnewton.com
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta