I have Emacs Starter Kit installed. When I try to install and run ECB it does not work.
What is wrong? How to make ECB work with Emacs Starter Kit?
I've tried two ways:
ecb
to my-packages
list as described here
ecb
with list-packages
commandBoth ways give the same result. During the installation I got a lot of warnings like
In ecb-test-with-original-advice-set:
ecb-advice-test.el:122:16:Warning: reference to free variable `ecb-version'
In ecb-analyse-jump-to-tag:
ecb-analyse.el:443:24:Warning: `interactive-p' is an obsolete function (as of
23.2); use `called-interactively-p' instead.
Total size of the file is 807 lines and I don't know how to add it here keeping the post readable :)
When I try to start ECB by adding (require 'ecb)
to ~/.emacs.d/$USER.el
the following error occurs at Emacs start:
File error: Cannot open load file, ecb
The variable load-path
does not contain the path to ecb files. When I start Emacs without (require 'ecb)
there is no errors and load-path
do contain the string"/home/maksim/.emacs.d/elpa/ecb-2.40"
. Adding the following line
(add-to-list 'load-path (expand-file-name "~/.emacs.d/elpa/ecb-2.40"))
makes Emacs start without errors, but ECB still not work and ecb-activate
acts in the way described below.
If I try to start ECB by calling ecb-activate
I see the following in the *Messages*
buffer:
ECB 2.40 uses CEDET 1.0 (contains semantic 2.0, eieio 1.3, speedbar <unknown
version>).
ecb-activate-internal: Symbol's value as variable is void: stack-trace-on-error
If I add the following line to ~/.emacs.d/$USER.el
(setq stack-trace-on-error t)
then ecb-activate
responds the following
ECB 2.40 uses CEDET 1.0 (contains semantic 2.0, eieio 1.3, speedbar <unknown
version>).
All requirements for ECB 2.40 fulfilled - Enjoy it!
The ECB is now deactivated.
ecb-clean-up-after-activation-failure: ECB 2.40: Errors during the basic setup
of ECB. (error-type: void-function, error-data:
(ecb-enable-own-temp-buffer-show-futition))
I was having the same problems as you, I've just solved it, here are my specs:
Plus I've did as @user1150335 said with the version number I did not need to change the version number as @user1150335 said. Let me know if I've missed something or you need something more about the configuration.
Try to edit ecb-cedet-required-version-max variable (it is in ecb-cedet-wrapper.el). Worked for me. Update: I don't know which version of cedet you're using. But there is an example how I did, step by step:
For some reason stack-trace-on-error must be true even after correction. I tested it with GNU Emacs 24.0.92.1, CEDET Version: 1.1beta (last checkout from bzr), and the last checkout of ecb from cvs. I don't really use ecb nowadays, but I tried ecb-byte-compile, ecb-activate, ecb-deactivate, jumps to ecb windows (methods, dirs, sources), open cpp and elisp files. Everything works just fine.
You should correct
(ecb-enable-own-temp-buffer-show-futition)
to
(ecb-enable-own-temp-buffer-show-function)
in ecb.el
There is a new ECB branch on github called newcedet. This version of ECB is compatible with new Emacs versions and CEDET 1.1 and higher. There are also discussions on the ECB mailing list concerning this.
add
(setq version-error nil) in ecb-uprade.el
which means no version check of cedet.
correct (ecb-enable-own-temp-buffer-show-futition) to (ecb-enable-own-temp-buffer-show-function) in ecb.el
delete ecb.elc and ecb-upgrade.elc
M-x byte-compile-file ecb.el and ecb-upgrade.el
add (setq stack-trace-on-error t) in .emacs or .emacs.d/init.el
M-x ecb-active
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With