Hi,
I've been trying to get jde 2.2.8 working on cygwin 1.3.2-1 with emacs
20.7.1 on windows 2000, service pack 2. I've been looking through the
jde web site and mailing list archives, but I must be missing something.
If someone can suggest a useful direction for me to try with getting
setup, that would be very nice of you. Thanks in advance for any help
offered. Below, I describe the symptoms and what I've tried so far.
Joan Friedman
---------details----------
The visible problem is that when I start up emacs, or reload the .emacs
file, I get the message:
Cannot open load file: jde
(and it's true, jde is not loaded, so it's not available for use)
When I open emacs, the message buffer says:
(C:\Programs\emacs-20.7\bin\emacs.exe)
Error in init file: File error: "Cannot open load file", "jde"
When I use Meta-x load-file ~/.emacs, the message buffer adds:
Loading c:/Programs/cygwin/home/jmf/.emacs...
Cannot open load file: jde
I'm using a minimized .emacs file (at the bottom of this message in its
entirety, in 2 versions that exhibit the same problem) that has only the
jde load and require statements.
I also tried using the "minimal .emacs file" from the jde site (also at
the bottom, for reference), which produced a longer error message:
Signaling: (file-error "Cannot open load file" "jde")
require(jde)
(if defer-loading-jde (progn (autoload ... "jde" "JDE mode." t) (setq
auto-mode-alist ...)) (require (quote jde)))
eval-buffer(#<buffer *load*> nil
"c:/Programs/cygwin/home/jmf/.emacs")
load-with-code-conversion("c:/Programs/cygwin/home/jmf/.emacs"
"c:/Programs/cygwin/home/jmf/.emacs" nil nil)
load("c:/Programs/cygwin/home/jmf/.emacs" nil nil t)
load-file("~/.emacs")
call-interactively(load-file)
execute-extended-command(nil)
call-interactively(execute-extended-command)
For support packages, I'm using elib-1.0, eieio-0.16, speedbar-0.13a,
semantic-1.4beta10.
In case it would throw some light on the problem, I tried compiling
(enter the directory and run 'make') the support packages. elib, eieio,
and speedbar seemed to compile ok.
semantic did not. In case it is relevant, here is what I did with
semantic:
I modified one line in the Makefile:
LOADPATH="/Programs/emacs-20.7/site/eieio-0.16
/Programs/emacs-20.7/site/speedbar-0.13a"
and had this output:
/Programs/emacs-20.7/site/semantic-1.4beta10 WOOLF $ make
test: /Programs/emacs-20.7/site/speedbar-0.13a: unknown operand
emacs -batch -l semantic-compile-script -f batch-byte-compile
semantic.el semantic-util.el semantic-bnf.el semantic-ctxt
.el
While compiling semantic-bovinate-from-nonterminal in file
c:/Programs/emacs-20.7/site/semantic-1.4beta10/semantic.el:
** reference to free variable table
While compiling semantic-flex-text:
** defsubst semantic-flex-text was used before it was defined
While compiling the end of the data:
** The following functions are not known to be defined: extent-list,
next-command-event, key-press-event-p, event-to-character,
quit-char, adelete, semantic-nonterminal-children,
semantic-bnf-find-source-on-load-path,
semantic-bnf-find-state-position, semantic-current-nonterminal
Wrote c:/Programs/emacs-20.7/site/semantic-1.4beta10/semantic.elc
While compiling semantic-find-dependency in file
c:/Programs/emacs-20.7/site/semantic-1.4beta10/semantic-util.el:
** reference to free variable ede-minor-mode
While compiling semantic-prototype-file:
** reference to free variable ede-minor-mode
While compiling the end of the data:
** The following functions are not known to be defined:
semanticdb-minor-mode-p, semanticdb-file-stream,
ede-expand-filename, ede-toplevel, ede-header-file
Wrote c:/Programs/emacs-20.7/site/semantic-1.4beta10/semantic-util.elc
While compiling toplevel forms in file
c:/Programs/emacs-20.7/site/semantic-1.4beta10/semantic-bnf.el:
!! File error (("Cannot open load file" "eieio-base"))
While compiling toplevel forms in file
c:/Programs/emacs-20.7/site/semantic-1.4beta10/semantic-ctxt.el:
!! File error (("Cannot open load file" "eieio-base"))
Done
make: *** [semantic] Error 1
/Programs/emacs-20.7/site/semantic-1.4beta10 WOOLF $
The same thing happened with semantic-1.4 betas 7 and 9, as well as 10.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; emacs initialization file #0
;;; JMF
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun add-to-load-path (dirname)
(cond ((file-exists-p dirname)
(setq load-path (cons (expand-file-name dirname) load-path)))))
(add-to-load-path "/Programs/emacs/site/elib-1.0")
(add-to-load-path "/Programs/emacs/site/eieio-0.16")
(add-to-load-path "/Programs/emacs-20.7/site/speedbar-0.13a")
(add-to-load-path "/Programs/emacs/site/semantic-1.4beta10")
(add-to-load-path "/Programs/emacs/site/jde/lisp")
(require 'jde)
;;end .emacs #0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; emacs init file alternate #1
;;;; based on jde website
;;;; cygwin has links so these paths are also correct
;;;; shows same symptoms as first version
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path (expand-file-name "~/emacs/site/jde/lisp"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/semantic"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/speedbar"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/elib"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/eieio"))
(require 'jde)
;;end .emacs #1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; emacs init file, alternate #2, the 'minimal .emacs' from the jde
website
;;;; cygwin has links so these paths are also correct
;;;; shows same symptoms as first version
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This .emacs file illustrates the minimul setup
;; required to run the JDE.
;; Set the debug option to enable a backtrace when a
;; problem occurs.
(setq debug-on-error t)
;; Update the Emacs load-path to include the path to
;; the JDE and its require packages. This code assumes
;; that you have installed the packages in the emacs/site
;; subdirectory of your home directory.
(add-to-list 'load-path (expand-file-name "~/emacs/site/jde/lisp"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/semantic"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/speedbar"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/eieio"))
(add-to-list 'load-path (expand-file-name "~/emacs/site/elib"))
;; If you want Emacs to defer loading the JDE until you open a
;; Java file, edit the following line
(setq defer-loading-jde nil)
;; to read:
;;
;; (setq defer-loading-jde t)
;;
(if defer-loading-jde
(progn
(autoload 'jde-mode "jde" "JDE mode." t)
(setq auto-mode-alist
(append
'(("\\.java\\'" . jde-mode))
auto-mode-alist)))
(require 'jde))
;; Sets the basic indentation for Java source files
;; to two spaces.
(defun my-jde-mode-hook ()
(setq c-basic-offset 2))
(add-hook 'jde-mode-hook 'my-jde-mode-hook)
;; Include the following only if you want to run
;; bash as your shell.
;; Setup Emacs to run bash as its primary shell.
(setq shell-file-name "bash")
(setq shell-command-switch "-c")
(setq explicit-shell-file-name shell-file-name)
(setenv "SHELL" shell-file-name)
(setq explicit-sh-args '("-login" "-i"))
(if (boundp 'w32-quote-process-args)
(setq w32-quote-process-args ?\")) ;; Include only for MS Windows.