在保持安装CEDET 1.0pre4 deb软件包的同时以用户身份安装CEDET 1.0pre6

时间:2009-08-27 16:55:56

标签: ubuntu emacs debian cedet emacs-ecb

我的工作计算机(Ubuntu 8.10)安装了CEDET版本1.0pre4,我正在尝试在我的本地目录中安装最新版本的CEDET(1.0pre6)(最终目标,将ECB升级到最新版本)。

不幸的是,默认的debian / ubuntu安装在调用我的.emacs文件之前初始化CEDET和ECB的系统级软件包,然后1.0pre6文件尝试加载抛出错误,尝试使用1.0pre4中未定义的符号。 (有关报告同一问题的其他人,请参阅this mailing list thread。)

我首先尝试手动重新加载CEDET在我的.emacs中提供的软件包,但其中一个软件包无法重新加载两次。

我现在正在尝试unload-feature命令。当我尝试卸载CEDET时,我收到错误:

 Lisp error: (error "Loaded libraries (\"/etc/emacs/site-start.d/55ecb.el\") depend on /usr/share/emacs22/site-lisp/cedet-common/cedet.elc")

但是没有ecb功能可以卸载。有ecb-autoloads功能,似乎由/etc/emacs/site-start.d/55ecb.el提供,但该库似乎也依赖于它。

我想我可以以某种方式让Emacs卸载系统范围的ECB,或者我可以以某种方式将系统范围配置中的大部分内容添加到我的.emacs文件的顶部,放弃ECB和CEDET加载。

后者听起来凌乱,丑陋,不稳定。如果我知道如何,我宁愿做前者。或者有人可以更好地解决这个问题?

2 个答案:

答案 0 :(得分:2)

不知道如何安装Emacs,很难确定解决方案。我要尝试的第一件事就是禁用加载site file

emacs --no-site-file

查看是否从那里加载。它也可能被加载到库default中,但由于它在之前加载你的.emacs,之后加载default,这可能不是罪魁祸首。< / p>

如果您的管理员dumped已经加载了CEDET的Emacs,那么您运气不好,肯定会自己动手。

话虽如此,下载,构建和安装Emacs与其他任何软件一样简单。如果我记得,这些步骤是:gtar xfz emacs-23.1.tar.gz; cd emacs-23.1; ./configure; gmake; gmake install


在回复评论时(您仍希望加载剩余的site-start),我会尝试以下操作:

  1. 与管理系统的任何人联系,让他们修复网站启动(库名称存储在变量site-run-file中),以便不加载这些内容,而是将这些内容放入{{1} (在用户的default后)加载
  2. 在等待#1解决时(如果有的话),调用Emacs就像这样

    .emacs

  3. 其中hack.el包含类似

    的内容
    emacs -q --no-site-file -l hack.el

    要查找;;; some changes to load-path to put your stuff in front of the load-path` (if site-run-file (load site-run-file t t)) ;;; now load your .emacs ,请使用site-run-fileM-x find-library中存储的名称。

    如果您的管理员是vi用户,并且对Emacs一无所知(就像我以前的工作一样),您可以教育他们并希望获得最好的,或者开始自己动手。

答案 1 :(得分:1)

我知道这是一个相当古老的问题,但我最近在尝试安装CEDET 1.1时遇到了Ubuntu 13.10这个问题。

我以前安装过ecet软件包,该软件包附带了/etc/emacs/site-start.d/50ecb.el,导致在处理我的.emacs文件之前加载了随Emacs23打包的CEDET版本。< / p>

所以,我必须做的就是从我的系统中清除ecb包,如下所示:

sudo apt-get purge ecb

现在可以按照CEDET的INSTALL文件中的说明加载我的本地版CEDET。