emacsautocompletebazaarcedetel-get

el-get waiting for "*bzr branch cedet" to complete


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]

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.