2009-08-27 5 views
1

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

残念ながら、デフォルトのdebian/ubuntuインストールでは、.emacsファイルが呼び出される前にCEDETとECBのシステム全体のパッケージが初期化されます。1.0pre6ファイルを読み込み、1.0で定義されていないシンボルpre4。

CEDETが提供しているパッケージを手動で手動で再読み込みしようとしましたが、そのうちの1つを2回再読み込みすることはできません。

私は現在unload-featureコマンドを試しています。

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

しかし、アンロードする何ecb機能はありません:私はCEDETをアンロードしようとすると、私はエラーを取得します。 ecb-autoloads機能があります。これは/etc/emacs/site-start.d/55ecb.elによって提供されているようですが、ライブラリはそれに依存しているようです。

私は何とかEmacsにシステム全体のECBをアンロードするか、システム全体の構成の大部分を自分の.emacsファイルの先頭に何らかの形で追加してECBとCEDETの読み込みを中止することができます。

後者は乱雑で、醜く、不安定に聞こえます。もし私が知っていたら、私はむしろ前者をやるだろう。あるいは、誰かがこの問題のより良い解決策を持っているでしょうか?

+0

これはおそらくあなたが既に試してみたが、管理者があなたのシステムにCEDETパッケージをアンインストールさせることはできないのだろうか? –

+0

はい、明らかですが、周りに道があるはずです。しかし、私たちはコンピュータをアップグレードして以来、システム管理者はcedetを再インストールするのを忘れてしまったので、私は彼に思い出させませんでした。 (私はとにかくそれを使用していた唯一の人でした) – AFoglia

答えて

2

Emacsのインストール方法がわからない場合は、解決策を特定するのは難しいです。私が試してみた最初のものは、それがそこからロードされているかどうかを確認するためにsite file

emacs --no-site-file 

のロードを無効にすることです。ライブラリdefaultにロードされているかもしれませんが、の前にの.emacsとdefaultがロードされているので、それはおそらく原因ではありません。

あなたの管理者dumped CEDETのEmacsがすでに読み込まれている場合、あなたは運が悪いですし、確かに自分自身をロールバックする必要があります。

Emacsのダウンロード、ビルド、インストールは他のソフトウェアと同じくらい簡単です。私が思い出すと、これらのステップはgtar xfz emacs-23.1.tar.gz; cd emacs-23.1; ./configure; gmake; gmake installでした。コメントへの応答(あなたはまだsite-startの残りの部分をロードすること)、私は試してみて


以下:彼らはサイトを修正するために得るためにあなたのシステムを管理して誰に

  1. の話-start(ライブラリ名を変数site-run-fileに保存されている)というものをロードしないようにする代わりに、default中のもののようなものを置くために#1を待っている間
  2. 後のユーザーの.emacsにロードされます) (それは今までにない場合)、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-file見つけるM-x find-libraryを使用して名前を保存するには含まれていそう

    emacs -q --no-site-file -l hack.el

ようにEmacsを起動解決しますsite-run-file

あなたの管理者がviユーザーで、Emacsについて何も知らないのであれば(私の以前の仕事に似ていました)、それらを教育し、最高のものを探したり、

+0

私はすでに投稿する前にそれを試みました。これは、システム全体のECBとCEDETパッケージの読み込みを停止しますが、システム全体のemacsパッケージの読み込みも無効にします。つまり、手動で追加する必要があります。私の.emacsファイル。私は、パッケージをロードする前に、emacs load-pathをオーバーライドする方法を見つけたいと思っています。 オプションを見ると、理論的には--no-site-fileを使用でき、ロードパスを定義してからsite-start.elを呼び出すことができます。しかし、Ubuntu/Debianではファイルが空であるので、どこでどのように呼び出されるのか分かりません。 – AFoglia

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の私の地元のバージョンは今の指示に従うことによって代わりにロードすることができることCEDETのINSTALLファイルに入っていました。

関連する問題