1

私の仕事用コンピューター (Ubuntu 8.10) には CEDET バージョン 1.0pre4 がインストールされており、最新バージョンの CEDET (1.0pre6) をローカル ディレクトリにインストールしようとしています (最終的な目標は、ECB を最新バージョンにアップグレードすることです)。

残念ながら、デフォルトの debian/ubuntu インストールでは、.emacs ファイルが呼び出される前に CEDET と ECB のシステム全体のパッケージが初期化され、その後ロードしようとした 1.0pre6 ファイルは、1.0pre4 で定義されていないシンボルを使用しようとしてエラーをスローします。(他の誰かが同じ問題を報告していることについては、このメーリング リストのスレッドを参照してください。)

最初に、CEDET が .emacs で提供するパッケージを手動で再ロードしようとしましたが、そのうちの 1 つを 2 回再ロードできませんでした。

私は今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 の読み込みを削除することができると思います。

後者は、厄介で、醜く、不安定に聞こえます。方法がわかれば、むしろ前者をやりたいです。それとも、誰かがこの問題に対するより良い解決策を持っていますか?

4

2 に答える 2

1

これはかなり古い質問であることは知っていますが、最近、CEDET 1.1 をインストールしようとしたときに、Ubuntu 13.10 でこの問題に遭遇しました。

以前に、/etc/emacs/site-start.d/50ecb.el に付属の ecb パッケージをインストールしていたため、.emacs ファイルを処理する前に、Emacs23 にパッケージ化されたバージョンの CEDET がロードされました。

したがって、これを修正するために必要だったのは、次のようにシステムから ecb パッケージを削除することだけでした。

sudo apt-get purge ecb

これで、CEDET の INSTALL ファイルに含まれている指示に従って、CEDET のローカル バージョンを代わりにロードできるようになりました。

于 2013-07-03T22:20:00.953 に答える