Question

I already have cedet installed on emacs24. However, whenever I start emacs I get an error that el-get is installing cedet unsuccessfully. It takes a rather long time and fails somewhere in the make.

Why is el-get downloading cedet that already comes by default, why is it throwing an error, and how can I disable this?

At startup:

el-get waiting for "*bzr branch cedet" to complete 
el-get is waiting for "make" to complete
error: el-get: make el-get could not build cedet [make EMACS=/usr/bin/emacs24]
Was it helpful?

Solution

Whenever you do el-get-install, el-get first tries to install the dependencies declared by the package. Before installing the package el-get adds the package to a status file (by default it is in ~/.emacs.d/el-get/.status.el) and marks it as a required package and once the package is installed the status is changed to installed. On emacs startup it checks this file to get a list packages that it has to install and if any package has a status of "required" it is installed first.

In your particular case, the recipe for the package ecb declares cedet as a dependency. So el-get tried to install cedet first and failed, since the cedet recipe that ships with el-get tries to install cedet from source. This step was failing since you did not have texinfo installed which was needed to make cedet. As a result el-get had cedet marked as required package and on every startup it was trying to install the it (and failing).

You can do M-xel-get-removeRETname-of-offending-packageRET, so that el-get stops trying to install that package. To find out why a particular package install is failing you can always check the output of build process of package by switching to the buffer el-get: build (I don't remember the name correctly but it is something similar).

For your particular case you could avoided installing cedet altogether by instructing el-get to install ecb from melpa using the following recipe. Do C-hvel-get-sourcesRET to read about recipe syntax

(:name ecb
       :description "Emacs Code Browser"
       :type elpa
       :repo ("melpa" . "http://melpa.milkbox.net/packages/"))

Add the recipe above to file named ecb.rcp in your personal recipe directory. I store them in ~/.emacs.d/recipes, the location doesn't matter though, just ensure that it is in first in the list el-get-recipe-path so that your recipes get precedence over the builtin ones. Something like

(add-to-list 'el-get-recipe-path "/path/to/personal/recipes")

should be sufficient to ensure that your personal recipes are preferred by el-get.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top